本文是 Git 命令行常用操作速查,适合在终端直接进行版本控制操作。
1. 基础配置
1
2
3
4
5
6
| # 设置用户名和邮箱
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
# 查看当前配置
git config --list
|
💡 建议在每台新机器上先做一次全局配置,确保提交信息正确。
2. 创建与克隆仓库
1
2
3
4
5
6
| # 创建新仓库
git init my-repo
cd my-repo
# 克隆远程仓库
git clone https://github.com/user/repo.git
|
⚡ 注意:git clone 会自动创建本地仓库并关联远程 origin。
3. 基本操作
1
2
3
4
5
6
7
8
9
10
11
| # 查看工作区状态
git status
# 添加文件到暂存区
git add file.txt
# 提交更改
git commit -m "Commit message"
# 查看提交历史
git log
|
🔹 tip:git log --oneline --graph --all 可以以图形化形式查看分支和提交历史。
4. 分支管理
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| # 创建新分支(不切换)
git branch new-branch
# 切换分支
git checkout new-branch
# 查看本地分支
git branch
# 创建并切换到新分支(常用)
git checkout -b new-branch
# 合并分支到 main
git checkout main
git merge new-branch
# 查看所有分支及提交图谱
git log --oneline --graph --all
# 查看分支及其远程跟踪信息
git branch -vv
|
⚡ 建议:功能分支(feature)单独开发,完成后再 merge 到主分支,可保持主分支历史清晰。
5. 远程操作
1
2
3
4
5
6
7
8
9
10
11
| # 添加远程仓库
git remote add origin https://github.com/user/repo.git
# 推送本地分支到远程(第一次推送)
git push -u origin main
# 拉取远程更新并合并到当前分支
git pull origin main
# 如果希望保持历史线性,可使用 rebase
git pull --rebase origin main
|
💡 tip:使用 -u(或 --set-upstream)绑定本地分支与远程分支,以后可直接 git push / git pull。
6. 常用技巧
1
2
3
4
5
6
7
8
9
10
11
12
| # 查看本地与暂存区或工作区的差异
git diff
# 撤销修改(回退到上一次 commit 的状态)
git checkout -- file.txt
# 删除文件并提交删除
git rm file.txt
git commit -m "Remove file.txt"
# 查看提交历史图谱
git log --oneline --graph --all
|
⚡ tip:操作前多用 git status 检查当前状态,避免误操作。
7. 冲突解决
合并分支时遇到冲突
文件中会出现标记:
1
2
3
4
5
| <<<<<<< HEAD
远程代码
=======
本地代码
>>>>>>> commit
|
解决步骤:
1
2
3
4
5
6
7
8
9
10
11
| # 1. 手动编辑冲突文件,解决冲突后添加
git add file.txt
# 2. 如果是 merge,直接 commit
git commit
# 3. 如果是 rebase,解决冲突后继续
git rebase --continue
# 查看当前冲突状态
git status
|
Push 被拒绝时的处理
1
2
3
4
5
6
| # 如果 push 被拒绝(远程有新提交)
git pull --rebase origin main
# 解决冲突后继续 rebase
git add file.txt
git rebase --continue
|
⚠️ 重要提示:
- 冲突出现时,Git 会标记
<<<<<<<, =======, >>>>>>>,必须手动处理 - rebase 可以保持历史线性,但不要在公共分支上强制 rebase
- 先 commit 或 stash 再 pull,避免丢失修改
8. 总结
- 功能分支开发 → 保持主分支清晰
- 先 commit / stash 再 pull → 避免丢失修改
- 冲突手动解决 +
git add + git rebase --continue - push 时使用 -u 设置 upstream → 后续操作更方便