1813 字
9 分钟
Git基础命令教程
2025-09-06
gemini-aiAI 摘要
Gemini 2.5 Pro

Git 是当前最流行的分布式版本控制系统。许多人认为 Git 太混乱,或认为版本控制系统很高端复杂,其实不然,这篇文章有助于快速学习使用 Git。

Git基础概念#

Git 是目前世界上最先进的分布式版本控制系统。要理解 Git 的工作原理,先了解几个核心概念:

工作区(Working Directory)#

你的项目所在目录,存放着项目的实际文件。

暂存区(Index / Stage)#

通过 git add 将修改加入暂存区,表示这些修改会进入下一次提交。

本地仓库(Local Repository)#

通过 git commit 将暂存区内容提交到本地仓库,形成可回溯的历史。

远程仓库(Remote Repository)#

托管在远程服务器(如 GitHub、Gitee、GitLab)的仓库,用于协作与备份。

Git安装与配置#

1. 安装 Git#

Terminal window
brew install git
  • Linux(Ubuntu/Debian):
Terminal window
sudo apt-get install -y git
TIP

安装完成后,终端执行 git --version 验证安装。

2. 配置用户信息#

Terminal window
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"
git config --list

3. 其他常用配置#

Terminal window
git config --global color.ui true # 命令行彩色输出
git config --global color.status auto
git config --global color.diff auto
git config --global color.branch auto
git config --global color.interactive auto
git config --global --unset http.proxy # 如曾配置过代理且需移除

创建仓库#

1. 初始化本地仓库#

Terminal window
git init

这会创建 .git 隐藏目录用于版本跟踪。

WARNING

请勿手动修改 .git 目录内容。

2. 克隆远程仓库#

Terminal window
git clone 仓库地址
# 例如:
git clone https://github.com/username/repo.git
# 克隆指定分支
git clone -b 分支名 仓库地址
# 例如:
git clone -b dev https://github.com/username/repo.git

Git基本工作流程#

1. 查看当前状态#

Terminal window
git status

显示工作区与暂存区状态、未跟踪/已修改文件等。

2. 添加文件到暂存区#

Terminal window
git add 文件名 # 添加指定文件
git add . # 添加当前目录所有修改
git add -p # 交互式选择部分修改

3. 提交到本地仓库#

Terminal window
git commit -m "提交说明"

提交信息有一定的前缀规范:

类型含义
feat新功能
fix修复 bug
docs文档变更
style代码格式(不影响逻辑)
refactor重构(非新增功能、非修复 bug)
test测试相关
chore构建流程或依赖等杂项

4. 查看提交历史#

Terminal window
git log # 详细日志
git log --oneline # 单行显示
git log -5 # 最近 5 次提交
git log --stat # 显示变更文件统计

Git常用命令大全#

1. 文件操作命令#

Terminal window
git add 文件名
git add .
git rm 文件名
git rm -r 目录名
git mv 旧文件名 新文件名

2. 查看差异命令#

Terminal window
git diff # 工作区与暂存区差异
git diff --cached # 暂存区与上次提交差异
git diff HEAD^ # 与上一个版本比较
git diff HEAD -- ./lib # 与 HEAD 比较 lib 目录差异
git diff origin/master..master # 远程 master 相对本地 master 的差异

3. 查看状态和历史命令#

Terminal window
git status
git log
git log -1
git log --oneline
git log --stat
git show 提交ID
git show HEAD
git show HEAD^

4. 标签操作命令#

Terminal window
git tag
git tag -a v2.0 -m '版本说明'
git show v2.0
git log v2.0

5. 搜索命令#

Terminal window
git grep "搜索文本"
git grep -e '#define' --and -e SORT_DIRENT

分支管理#

分支让你并行开发不同功能,互不干扰。

1. 基本分支操作#

Terminal window
git branch # 显示本地分支
git branch -a # 包含远程分支
git branch -r # 仅远程分支
git branch 分支名 # 创建分支
git checkout 分支名 # 切换分支
git checkout -b 分支名 # 创建并切换
git branch -d 分支名 # 删除已合并分支
git branch -D 分支名 # 强制删除未合并分支
git branch -m 旧分支 新分支 # 重命名分支

2. 分支合并#

Terminal window
git merge 分支名
git merge --no-ff -m "合并说明" 分支名 # 禁用 fast-forward,保留合并记录

3. 解决冲突#

当不同分支修改同一位置时会产生冲突,Git 会标记如下:

<<<<<<< HEAD
当前分支的内容
=======
要合并分支的内容
>>>>>>> 分支名

解决步骤:

  1. 手动编辑文件,保留需要的内容

  2. git add 标记冲突已解决

  3. git commit 完成合并

4. 分支管理策略#

Git分支管理策略可以保持代码库的整洁和有序,以下是几种常见的Git分支管理策略:

  • 主分支包括Master和Develop分支

    • Master分支用于存放稳定的生产版本

    • Develop分支用于日常开发和集成

  • 此外,还有三类辅助分支

    • Feature分支用于开发新功能

    • Release分支用于发布前的准备

    • Hotfix分支用于紧急修复生产环境中的问题

远程仓库操作#

1. 远程仓库管理#

Terminal window
git remote add origin 仓库地址
git remote -v
git remote remove origin
git remote rename origin newname

2. 推送和拉取#

Terminal window
git push -u origin master # 首次推送并建立跟踪
git push origin master
git push origin --delete 分支名
git push --tags # 推送所有标签
git pull origin master # 拉取并合并
git fetch # 获取远程更新(不合并)
git fetch --prune # 获取并清理远端已删除分支

版本回退与撤销#

1. 版本回退#

Terminal window
git reset --hard HEAD^ # 回退到上一个版本
git reset --hard HEAD~100 # 回退到前100个版本
git reset --hard 提交ID # 回退到指定提交

2. 查看历史版本#

Terminal window
git reflog # 包括孤立提交在内的引用变更历史
git show HEAD@{5} # 查看 HEAD 的第5个历史状态
git show master@{yesterday} # 查看 master 昨天的状态

3. 撤销修改#

Terminal window
git checkout -- 文件名 # 丢弃工作区修改
git reset HEAD 文件名 # 撤销暂存(回到工作区)
git commit --amend -m "新的提交说明" # 修改上一次提交信息

4. 撤销提交#

Terminal window
git revert 提交ID # 生成一次新的“反向提交”

完整工作流程示例#

首次上传#

Terminal window
# 1) 初始化
git init
# 2) 添加文件
git add .
# 3) 提交
git commit -m "首次提交"
# 4) 关联远程
git remote add origin https://github.com/username/repo.git
# 5) 推送
git push -u origin master

日常开发流程#

Terminal window
# 1) 查看状态
git status
# 2) 拉取最新
git pull origin master
# 3) 创建功能分支
git checkout -b feature/new-feature
# 4) 开发...
# 5) 暂存修改
git add .
# 6) 提交
git commit -m "feat: 添加新功能"
# 7) 切回主分支
git checkout master
# 8) 合并功能分支
git merge feature/new-feature
# 9) 推送
git push origin master
# 10) 删除功能分支
git branch -d feature/new-feature

常见问题解决#

1. 推送报错:failed to push some refs#

原因:本地分支落后于远程分支

解决:

Terminal window
git pull origin master --rebase
git push origin master
# 强制推送会用本地的分支历史完全覆盖远程分支的历史。
git push origin master -f

2. 合并冲突处理#

Terminal window
git pull origin master
# 手动解决冲突
git add .
git commit -m "解决合并冲突"
git push origin master

3. .gitignore 不生效#

原因:文件已被跟踪。

解决:

Terminal window
git rm -r --cached .
git add .
git commit -m "更新 .gitignore"

结束#

更加详细的教程可以去看菜鸟教程的Git 教程

Git基础命令教程
https://thw.lol/posts/git/
作者
THW
发布于
2025-09-06
许可协议
CC BY-NC-SA 4.0