Git常用命令大全及使用指南

这里为你整理了一份非常全面的 Git 常用命令大全,从入门到进阶,涵盖了日常开发的绝大多数场景。命令都附有简洁的说明,方便你快速查阅和使用。

Git 命令分类速览

  1. 仓库初始化与配置
  2. 日常基本操作
  3. 分支管理
  4. 查看状态与历史
  5. 撤销与回退
  6. 远程仓库协作
  7. 标签管理
  8. 高级技巧

1. 仓库初始化与配置

命令 说明
git init 在当前目录初始化一个新的 Git 仓库
git clone <url> 克隆一个远程仓库到本地
git config --global user.name "你的名字" (重要) 设置全局用户名
git config --global user.email "你的邮箱" (重要) 设置全局邮箱地址
git config --list 查看当前所有 Git 配置

2. 日常基本操作

命令 说明
git status 查看工作区和暂存区的状态(非常常用)
git add <文件名> 将指定文件的修改添加到暂存区
git add .git add -A 将所有新增、修改、删除的文件变更都添加到暂存区
git commit -m "提交信息" 将暂存区的内容提交到本地仓库,并附上提交说明
git commit -am "提交信息" 相当于 git add . + git commit -m仅对已跟踪的文件有效
git diff 查看工作区暂存区的差异
git diff --staged 查看暂存区本地仓库最新版本的差异
git restore <文件名> (Git 2.23+) 撤销工作区的修改,恢复到暂存区或仓库的版本
git restore --staged <文件名> (Git 2.23+) 将文件从暂存区撤出,但保留工作区的修改

注意 :在老版本 Git 中,撤销修改常用 git checkout -- <文件名>git reset HEAD <文件名>,新版本推荐使用 git restore


3. 分支管理

命令 说明
git branch 查看所有本地分支(当前分支前有 * 号)
git branch -r 查看所有远程分支
git branch -a 查看所有本地和远程分支
git branch <分支名> 创建一个新分支
git checkout <分支名> 切换到指定分支
git switch <分支名> (Git 2.23+) 专门用于切换分支的命令,更语义化
git checkout -b <分支名> 创建并切换到新分支(经典组合技)
git switch -c <分支名> (Git 2.23+) 创建并切换到新分支
git merge <分支名> 将指定分支合并到当前分支
git branch -d <分支名> 删除一个已合并的分支
git branch -D <分支名> 强制删除一个分支(即使它未合并)

4. 查看状态与历史

命令 说明
git log 查看提交历史
git log --oneline 以简洁的单行模式查看历史
git log --graph 以图形化方式查看分支合并历史
git show <commit_id> 查看某一次提交的具体内容变更
git status 再次强调,查看当前工作区状态的首选命令

5. 撤销与回退

命令 说明 风险
git commit --amend 修改最新一次提交的提交信息或追加文件变更 仅限本地未推送的提交
git reset --soft <commit_id> 回退到某个版本,保留工作区和暂存区的内容
git reset --mixed <commit_id> (默认) 回退到某个版本,保留工作区,清空暂存区
git reset --hard <commit_id> (危险) 彻底回退到某个版本,工作区和暂存区都重置
git revert <commit_id> 创建一个新的提交来"撤销"某次提交的更改。推荐用于已推送的提交

黄金法则 :对已经推送到远程仓库的提交,尽量使用 git revert;对仅本地的提交,可以使用 git reset


6. 远程仓库协作

命令 说明
git remote -v 查看远程仓库地址(verbose)
git remote add <remote_name> <url> 添加一个新的远程仓库,通常默认名为 origin
git fetch <remote_name> 从远程仓库获取最新信息到本地,但不自动合并
git pull <remote_name> <分支名> 相当于 git fetch + git merge,拉取并合并到当前分支
git pull --rebase <remote_name> <分支名> 拉取并使用变基方式合并,可以使历史线更清晰
git push <remote_name> <分支名> 将本地分支推送到远程仓库
git push -u <remote_name> <分支名> (重要) 首次推送时,建立本地分支与远程分支的跟踪关系
git push 建立跟踪关系后,简化推送命令
git branch --set-upstream-to=<remote_name>/<分支名> 手动建立本地分支与远程分支的跟踪关系

7. 标签管理

命令 说明
git tag 查看所有标签
git tag <标签名> 在当前提交上创建一个轻量标签
git tag -a <标签名> -m "备注信息" 创建一个带备注的附注标签
git push <remote_name> <标签名> 推送一个标签到远程仓库
git push <remote_name> --tags 推送所有本地标签到远程仓库

8. 高级技巧

命令 说明
git stash 将当前工作区和暂存区的修改临时"储藏"起来
git stash pop 恢复最近一次储藏的内容,并删除储藏记录
git stash list 查看所有的储藏记录
git rebase <分支名> 将当前分支变基到目标分支(常用于整理提交历史)
.gitignore (不是命令) 创建一个文件,列出希望 Git 忽略的文件/文件夹模式

常用工作流示例

场景一:日常提交代码

bash 复制代码
git status                  # 1. 查看改了哪些文件
git add .                   # 2. 将所有变更加入暂存区
git commit -m "功能完成"    # 3. 提交到本地仓库
git pull origin main        # 4. 先拉取远程最新代码(解决潜在冲突)
git push origin main        # 5. 推送到远程仓库

场景二:创建新功能分支

bash 复制代码
git switch -c feature/xxx   # 1. 从当前分支创建并切换到功能分支
# ... 进行开发,多次 add & commit ...
git push -u origin feature/xxx # 2. 推送功能分支到远程
# 开发完成后,在代码托管平台(如GitHub)创建Pull Request合并

希望这份大全能帮助你更好地使用 Git!建议先熟练掌握基本操作,再逐步尝试高级功能。

相关推荐
_李小白30 分钟前
【android opencv学习笔记】Day 17: 目标追踪(MeanShift)
android·opencv·学习
一只机电自动化菜鸟1 小时前
一建机电备考笔记(40) 建筑机电施工—排水管道施工(含考频+题型)
经验分享·笔记·学习·职场和发展·课程设计
2301_818730561 小时前
numpy的学习(笔记)
学习·numpy
你干嘛?哎哟1 小时前
4月工作笔记
笔记
tom02181 小时前
软考中级《嵌入式系统设计师》全套备考资料(真题 + 教材 + 笔记)
笔记·嵌入式·软考·自学·电子技术·电子资料·变成
GHL2842710902 小时前
Logon failed, use ctrl+c to cancel basic credential prompt
学习·prompt
共享家95272 小时前
Langchain的学习(二)
学习·langchain
victory04312 小时前
agent 学习路径解析 学习资源分享
学习
问心无愧05133 小时前
ctf show web入门156
笔记
咸甜适中3 小时前
rust语言学习笔记Trait(八)Iterator(迭代器)
笔记·学习·rust