Git 常用命令与示例展示
本文可分为(Git常用名令 | Git如何与Gitee结合使用)两部分,阅读互不影响,但先了解常用命令,可以便于理解下方操作 OvO !
一、Git 暂存区概念
暂存区(Staging Area)是 Git 特有的概念,它是工作区和本地仓库之间的一个临时存储区域。可以把它理解为一个 "待提交缓冲区":
- 工作区的修改不会直接提交到仓库,而是先添加到暂存区
- 暂存区可以精确控制哪些修改需要被提交
- 可以通过
git status
查看暂存区状态 - 暂存区的内容会在执行
git commit
时被提交到本地仓库
二、常用命令与操作示例
1. 初始化仓库与配置
# 初始化新仓库
git init# 配置用户信息(全局生效)
git config --global user.name "Your Name"
git config --global user.email "your@email.com"# 查看配置信息
git config --list
2. 工作区与暂存区操作
# 创建新文件并查看状态
echo "Hello Git" > readme.txt
git status # 显示 readme.txt 为 untracked(未跟踪)# 将文件添加到暂存区
git add readme.txt
git status # 现在显示 readme.txt 为 staged(已暂存)# 修改已暂存的文件
echo "Add new line" >> readme.txt
git status # 会显示两种状态:已暂存的修改和未暂存的修改# 将所有修改添加到暂存区
git add . # 添加当前目录所有文件
# 或
git add --all # 添加所有变化,包括删除的文件# 从暂存区移除文件(但保留工作区文件)
git rm --cached readme.txt# 撤销工作区修改(恢复到暂存区状态)
git restore readme.txt# 查看工作区与暂存区的差异
git diff# 查看暂存区与本地仓库的差异
git diff --cached
3. 提交操作
# 提交暂存区内容到本地仓库
git commit -m "Initial commit: add readme.txt"# 直接提交所有已跟踪文件的修改(跳过暂存区)
git commit -a -m "Update readme.txt"# 修改最近一次提交(如补充信息)
git commit --amend -m "Fix: update readme with more details"
4. 分支操作
# 查看所有分支
git branch -a# 创建新分支并切换
git checkout -b feature/login
# 或(Git 2.23+)
git switch -c feature/login# 切换回主分支
git checkout main
# 或
git switch main# 合并分支
git merge feature/login# 强制删除未合并的分支
git branch -D feature/old
5. 查看历史
# 查看提交历史
git log# 精简格式显示
git log --oneline# 显示最近3次提交
git log -n 3# 图形化显示分支历史
git log --graph --oneline --all# 查看所有操作记录(包括已删除的提交)
git reflog
6. 远程仓库操作
# 克隆远程仓库
git clone https://github.com/example/repo.git# 添加远程仓库
git remote add origin https://github.com/example/repo.git# 查看远程仓库信息
git remote -v# 拉取远程更新并合并
git pull origin main# 推送本地分支到远程
git push -u origin main # -u 建立关联,后续可直接 git push# 推送标签到远程
git tag v1.0.0
git push origin v1.0.0
7. 撤销与回退
# 暂存当前工作区修改
git stash save "Work in progress"# 查看所有暂存
git stash list# 应用最近的暂存并保留
git stash apply# 应用最近的暂存并删除
git stash pop# 软重置(保留工作区和暂存区)
git reset --soft HEAD~1 # 回退到上一次提交# 硬重置(彻底丢弃所有修改,谨慎使用)
git reset --hard HEAD~1# 创建新提交来撤销指定提交
git revert 2a1b3c4d # 2a1b3c4d 是要撤销的提交哈希
三、Git 工作流程图示
工作区(Working Directory)↓ git add
暂存区(Staging Area)↓ git commit
本地仓库(Local Repository)↓ git push
远程仓库(Remote Repository)
Git的核心作用 与 如何搭配 Gitee(码云) 使用
Git 作为分布式版本控制系统,主要解决以下核心问题:
- 追踪代码变更
记录文件每一次修改的内容、作者、时间,可随时查看历史变更记录,精准定位问题。 - 多版本管理
保存代码的多个历史版本,支持随时回滚到任意历史状态,避免代码丢失或误操作。 - 协同开发
允许多人同时开发同一项目,通过分支机制隔离不同功能的开发,最终通过合并操作整合代码。 - 工作区管理
通过工作区、暂存区、本地仓库的分层设计,精确控制每次提交的内容,避免无效提交。 - 离线工作
分布式特性支持本地完整仓库,无需联网即可完成大部分版本控制操作。
二、Gitee 搭配 Git 的使用流程(结合命令)
Gitee(码云)是国内的代码托管平台,兼容 Git 所有功能,使用流程如下:
1. 准备工作
-
注册 Gitee 账号并创建仓库
登录 Gitee → 点击右上角「+」→ 「新建仓库」→ 填写仓库名称、选择是否公开 → 点击「创建」 -
本地安装 Git 并配置
# 配置用户信息(需与 Gitee 账号一致) git config --global user.name "你的 Gitee 用户名" git config --global user.email "你的 Gitee 绑定邮箱"
2. 场景一:从本地项目关联到 Gitee 远程仓库
# 1. 进入本地项目目录
cd /path/to/your/project# 2. 初始化本地仓库
git init# 3. 添加所有文件到暂存区
git add .# 4. 提交到本地仓库
git commit -m "初始化项目"# 5. 关联 Gitee 远程仓库(仓库地址在 Gitee 仓库页面获取)
git remote add origin https://gitee.com/你的用户名/仓库名.git# 6. 推送本地代码到远程仓库(首次推送需指定分支)
git push -u origin master # master 为默认分支,部分仓库默认是 main
3. 场景二:从 Gitee 克隆仓库到本地开发
# 1. 克隆远程仓库到本地
git clone https://gitee.com/你的用户名/仓库名.git# 2. 进入克隆的项目目录
cd 仓库名# 3. 创建新分支开发功能(避免直接修改主分支)
git checkout -b feature/user-login # 创建并切换到功能分支# 4. 编写代码后,查看修改
git status# 5. 添加修改到暂存区
git add 文件名 # 或 git add . 添加所有修改# 6. 提交到本地仓库
git commit -m "完成用户登录功能"# 7. 推送功能分支到远程(方便团队协作)
git push -u origin feature/user-login
4. 团队协作流程
# 1. 拉取远程最新代码(避免冲突)
git pull origin master# 2. 切换到自己的开发分支
git switch feature/your-feature# 3. 开发完成后,合并主分支到自己的分支(解决冲突)
git merge master# 4. 推送分支到远程,在 Gitee 页面发起 Pull Request(PR)
git push origin feature/your-feature# 5. PR 审核通过后,在 Gitee 上合并到主分支
# 6. 本地同步主分支最新代码
git switch master
git pull origin master
5. 常用操作补充
-
版本回退
# 查看提交历史 git log --oneline# 回退到指定版本(软回退,保留工作区) git reset --soft 提交ID# 强制推送回退后的版本(谨慎使用,多人协作时需通知团队) git push -f origin master
-
分支管理
# 查看所有分支(包括远程) git branch -a# 删除本地分支 git branch -d feature/old-feature# 删除远程分支 git push origin --delete feature/old-feature
-
解决冲突
当git merge
出现冲突时:- 打开冲突文件,寻找
<<<<<<< HEAD
标记的冲突区域 - 编辑文件保留正确代码,删除冲突标记
- 提交解决后的代码:
git add . && git commit -m "解决合并冲突"
- 打开冲突文件,寻找
三、Git + Gitee 优势总结
- 本地与远程结合:本地完成大部分版本控制,通过 Gitee 实现代码备份和团队共享
- 国内访问优势:Gitee 服务器在国内,相比 GitHub 速度更快,适合国内团队
- 功能完整性:支持分支管理、PR 审核、Issue 跟踪等完整协作功能
- 安全性:可创建私有仓库,保护商业项目代码
苦瓜不苦 ( O_O )