Git常用命令行教程

Git 常用命令行速查,适合在终端直接进行版本控制操作。

本文是 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

🔹 tipgit 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. 总结

  1. 功能分支开发 → 保持主分支清晰
  2. 先 commit / stash 再 pull → 避免丢失修改
  3. 冲突手动解决 + git add + git rebase --continue
  4. push 时使用 -u 设置 upstream → 后续操作更方便