Git 常用命令大全

Git 常用命令大全

目录


一、基础配置命令

1. 设置用户信息

1
2
3
4
5
6
7
8
9
10
11
# 设置全局用户名
git config --global user.name "你的姓名"

# 设置全局邮箱
git config --global user.email "你的邮箱@example.com"

# 查看所有配置
git config --list

# 查看指定配置
git config user.name

2. 其他配置

1
2
3
4
5
6
7
8
# 设置默认编辑器为 VSCode
git config --global core.editor "code --wait"

# 设置默认分支名称
git config --global init.defaultBranch main

# 设置命令行颜色高亮
git config --global color.ui auto

返回目录

二、仓库创建与克隆

3. 初始化新仓库

1
2
3
4
5
# 在当前目录初始化新仓库
git init

# 在指定目录初始化新仓库
git init <项目目录名>

4. 克隆现有仓库

1
2
3
4
5
6
7
8
# 克隆远程仓库
git clone <仓库URL>

# 克隆并指定本地目录名
git clone <仓库URL> <本地目录名>

# 克隆特定分支
git clone -b <分支名> <仓库URL>

返回目录

三、基本工作流程

5. 查看状态与差异

1
2
3
4
5
6
7
8
9
10
11
# 查看工作区状态
git status

# 查看简略状态
git status -s

# 查看文件差异
git diff

# 查看已暂存的差异
git diff --staged

6. 添加文件到暂存区

1
2
3
4
5
6
7
8
9
10
11
# 添加指定文件
git add <文件名>

# 添加所有文件
git add .

# 添加所有修改和删除的文件(不包含新文件)
git add -u

# 交互式添加
git add -p

7. 提交更改

1
2
3
4
5
6
7
8
# 提交暂存区的更改
git commit -m "提交说明"

# 添加并提交所有更改(跳过暂存区)
git commit -am "提交说明"

# 修改上一次提交
git commit --amend

8. 文件操作

1
2
3
4
5
6
7
8
# 从Git中删除文件(同时删除物理文件)
git rm <文件名>

# 从Git中删除文件(保留物理文件)
git rm --cached <文件名>

# 移动或重命名文件
git mv <原文件名> <新文件名>

返回目录

四、分支管理

9. 分支操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 查看所有分支
git branch

# 查看所有分支(包括远程)
git branch -a

# 创建新分支
git branch <分支名>

# 切换到分支
git checkout <分支名>

# 创建并切换到新分支
git checkout -b <分支名>

# 删除分支
git branch -d <分支名>

# 强制删除分支
git branch -D <分支名>

10. 合并与变基

1
2
3
4
5
6
7
8
# 合并指定分支到当前分支
git merge <分支名>

# 变基当前分支到指定分支
git rebase <分支名>

# 交互式变基
git rebase -i <分支名或提交ID>

11. 储藏更改

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 储藏当前工作目录的修改
git stash

# 储藏并添加说明
git stash save "储藏说明"

# 查看储藏列表
git stash list

# 应用最新储藏
git stash apply

# 应用指定储藏
git stash apply stash@{0}

# 应用并删除储藏
git stash pop

# 删除所有储藏
git stash clear

返回目录

五、远程仓库操作

12. 远程仓库管理

1
2
3
4
5
6
7
8
9
10
11
# 查看远程仓库
git remote -v

# 添加远程仓库
git remote add <远程名> <仓库URL>

# 修改远程仓库URL
git remote set-url <远程名> <新URL>

# 删除远程仓库
git remote remove <远程名>

13. 推送与拉取

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 推送到远程仓库
git push <远程名> <分支名>

# 推送到远程并建立关联
git push -u <远程名> <分支名>

# 强制推送(谨慎使用)
git push -f

# 从远程拉取更改
git pull <远程名> <分支名>

# 拉取但不合并
git fetch <远程名>

14. 远程分支操作

1
2
3
4
5
6
7
8
# 跟踪远程分支
git checkout --track <远程名>/<分支名>

# 删除远程分支
git push <远程名> --delete <分支名>

# 同步远程分支列表
git fetch -p

返回目录

六、撤销与回退

15. 撤销工作区修改

1
2
3
4
5
6
7
8
# 撤销指定文件的修改
git checkout -- <文件名>

# 撤销所有未暂存的修改
git checkout .

# 恢复文件到指定提交的状态
git checkout <提交ID> -- <文件名>

16. 撤销暂存区修改

1
2
3
4
5
# 将文件从暂存区移回工作区
git reset HEAD <文件名>

# 将所有文件从暂存区移回工作区
git reset HEAD

17. 回退提交

1
2
3
4
5
6
7
8
9
10
11
# 回退到指定提交(保留修改)
git reset <提交ID>

# 回退到指定提交(不保留修改)
git reset --hard <提交ID>

# 回退到上一个提交
git reset --hard HEAD^

# 回退到前3个提交
git reset --hard HEAD~3

18. 恢复提交

1
2
3
4
5
# 恢复指定提交(创建新提交)
git revert <提交ID>

# 恢复最新提交
git revert HEAD

返回目录

七、查看状态与历史

19. 查看提交历史

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 查看提交历史
git log

# 查看简略历史(单行显示)
git log --oneline

# 查看图形化历史
git log --graph

# 查看指定文件的修改历史
git log -p <文件名>

# 查看指定作者的提交
git log --author="作者名"

# 查看最近n条提交
git log -n 5

20. 查看文件更改

1
2
3
4
5
6
7
8
9
10
11
# 查看谁修改了文件
git blame <文件名>

# 查看文件的每次提交更改
git log -p <文件名>

# 查看工作区与暂存区的差异
git diff

# 查看暂存区与最新提交的差异
git diff --staged

返回目录

八、标签管理

21. 标签操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 查看所有标签
git tag

# 创建轻量标签
git tag <标签名>

# 创建附注标签
git tag -a <标签名> -m "标签说明"

# 查看标签详情
git show <标签名>

# 推送标签到远程
git push <远程名> <标签名>

# 推送所有标签
git push <远程名> --tags

# 删除本地标签
git tag -d <标签名>

# 删除远程标签
git push <远程名> --delete <标签名>

返回目录

九、其他实用命令

22. 清理与维护

1
2
3
4
5
6
7
8
9
# 清理未跟踪的文件
git clean -n # 预览将被删除的文件
git clean -f # 强制删除未跟踪的文件

# 垃圾回收
git gc

# 检查仓库完整性
git fsck

23. 子模块

1
2
3
4
5
6
7
8
9
10
11
# 添加子模块
git submodule add <仓库URL> <路径>

# 初始化子模块
git submodule init

# 更新子模块
git submodule update

# 克隆包含子模块的项目
git clone --recurse-submodules <仓库URL>

24. 帮助信息

1
2
3
4
5
6
7
8
# 查看命令帮助
git help <命令>

# 查看简略帮助
git <命令> -h

# 查看所有可用命令
git help -a

25. 配置别名

1
2
3
4
5
6
7
8
9
# 设置命令别名
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status

# 使用示例
git co main # 相当于 git checkout main
git st # 相当于 git status

返回目录

实用技巧

常用工作流程示例

1
2
3
4
5
6
# 日常开发流程
git status # 查看状态
git add . # 添加所有更改
git commit -m "功能描述" # 提交更改
git pull origin main # 拉取最新代码
git push origin feature # 推送更改

分支命名建议

  • main/master - 主分支
  • develop - 开发分支
  • feature/xxx - 功能分支
  • hotfix/xxx - 热修复分支
  • release/xxx - 发布分支

注意: 强制推送 (git push -f) 和硬重置 (git reset --hard) 会丢失数据,请谨慎使用!


Git 常用命令大全
https://zuyue200.github.io/2025/10/11/git-common-cmds/
作者
zuyue200
发布于
2025年10月11日
更新于
2025年11月9日
许可协议