Git 备忘录

Git 备忘录

在软件开发中,Git 是版本控制的核心工具,无论是个人独立开发、团队协作迭代,还是开源项目贡献,都离不开 Git 的支撑。熟练掌握 Git 常用命令,能极大提升代码管理、版本回溯、分支协作的效率,规避代码冲突、版本丢失等常见问题。

本文将系统化梳理 Git 核心操作,分为基础环境配置分支核心操作日常高频操作三大板块,所有命令均适配实际开发场景,附带详细释义、使用场景和注意事项,新手可直接上手,老手可作为速查手册。

一、Git 基础配置(首次使用必做)

Git 安装完成后,首要操作是配置用户身份信息,所有代码提交记录都会关联该信息。配置分为全局配置(所有本地仓库生效)和局部配置(仅当前仓库生效),日常开发优先使用全局配置。

1.1 核心身份配置

# 全局配置用户名(必填,自定义开发昵称)
git config --global user.name "你的用户名"

# 全局配置邮箱(必填,与代码托管平台邮箱一致,如GitHub/Gitee)
git config --global user.email "你的邮箱地址"

# 局部配置(仅当前仓库生效,无需 --global 参数)
git config user.name "项目专属用户名"
git config user.email "项目专属邮箱"

1.2 配置查看与修改

# 查看所有Git配置(全局+局部)
git config --list

# 单独查看全局配置
git config --global --list

# 修改配置:重复执行配置命令即可覆盖原有配置,无需手动删除

1.3 实用优化配置(提升开发效率)

通过别名、编辑器配置,简化高频操作,适配开发习惯:

# 配置VS Code为Git默认编辑器
git config --global core.editor "code --wait"

# 配置常用命令别名(简化输入)
git config --global alias.st status      # git st 替代 git status
git config --global alias.co checkout   # git co 替代 git checkout
git config --global alias.br branch     # git br 替代 git branch
git config --global alias.ci commit     # git ci 替代 git commit
git config --global alias.last 'log -1 HEAD'  # 查看最新一次提交记录

二、Git 核心分支操作(团队协作核心)

分支是 Git 最核心的功能,也是团队并行开发的基础。通过分支可以实现功能迭代、bug 修复、版本发布互不干扰,开发完成后再合并代码。本节整合新旧版本兼容命令,适配 Git 2.0+ 所有版本。

2.1 分支查看

# 查看本地所有分支(* 标记为当前所在分支)
git branch

# 查看本地+远程所有分支
git branch -a

# 仅查看远程分支
git branch -r

# 查看分支跟踪关联信息(本地分支对应哪个远程分支)
git branch -vv

2.2 分支创建与切换

# 1. 仅创建分支(不切换,基于当前分支新建)
git branch 分支名

# 2. 传统命令:创建并切换到新分支(最常用)
git checkout -b 分支名

# 3. 新版Git推荐命令(2.23+ 版本,语义更清晰)
git switch -c 分支名

# 4. 切换已有分支
git checkout 分支名
git switch 分支名  # 新版推荐

# 5. 基于指定提交记录创建分支(回溯迭代专用)
git checkout -b 分支名 提交ID

# 6. 基于远程分支创建本地分支(同步远程代码)
git checkout -b 本地分支名 origin/远程分支名

2.3 分支合并

合并逻辑:先切换到目标分支,再将功能分支合并过来,例如:将 dev 分支合并到 main 主分支。

# 1. 切换到主分支(接收合并代码的分支)
git switch main

# 2. 合并指定分支到当前分支
git merge dev

# 3. 解决冲突后,完成合并(冲突修改文件后执行)
git add .
git commit -m "合并dev分支功能代码"

冲突说明:多分支修改同一文件同一代码时会触发冲突,需手动打开文件修改冲突标记,保存后提交即可。

2.4 分支删除

# 1. 删除已合并的本地分支(安全删除,避免代码丢失)
git branch -d 分支名

# 2. 强制删除本地分支(未合并也可删除,谨慎使用)
git branch -D 分支名

# 3. 删除远程分支
git push origin --delete 远程分支名

三、Git 日常高频操作(开发必备)

除分支操作外,代码提交、版本回溯、远程同步、文件撤销等操作是日常开发使用频率最高的功能,以下为精简实用的核心命令。

3.1 仓库初始化与代码提交

# 1. 初始化本地Git仓库(将普通文件夹转为Git仓库)
git init

# 2. 克隆远程仓库到本地
git clone 远程仓库地址

# 3. 查看文件状态(查看新增、修改、未提交文件)
git status

# 4. 暂存文件(加入暂存区,准备提交)
git add 文件名       # 暂存单个文件
git add .            # 暂存所有修改/新增文件(日常常用)

# 5. 提交到本地仓库(必须携带提交说明)
git commit -m "提交说明:完成XX功能/修复XXbug"

# 6. 快速提交(跳过git add,仅针对已修改文件,不包含新增文件)
git commit -am "快速提交:优化代码逻辑"

3.2 版本查看与回溯

# 1. 查看完整提交日志(所有版本记录)
git log

# 2. 简洁版日志(单行展示,快速查看版本)
git log --oneline

# 3. 回退到上一个版本(保留本地修改,仅撤销提交)
git reset --soft HEAD^

# 4. 强制回退到指定版本(删除后续所有提交,谨慎使用)
git reset --hard 提交ID

# 5. 撤销工作区文件修改(恢复到上次提交状态)
git restore 文件名
git restore .  # 撤销所有文件修改

3.3 远程仓库同步

# 1. 关联本地仓库与远程仓库
git remote add origin 远程仓库地址

# 2. 查看远程仓库关联信息
git remote -v

# 3. 拉取远程最新代码(同步远程更新)
git pull

# 4. 推送本地代码到远程仓库
git push origin 分支名

# 5. 首次推送关联远程分支(后续可直接git push)
git push -u origin 分支名

3.4 临时代码暂存(场景:切换分支暂存未完成代码)

开发中遇到临时 bug 需要切换分支修复,未完成代码不想提交,可使用 stash 暂存:

# 1. 暂存当前所有未提交代码
git stash

# 2. 查看所有暂存记录
git stash list

# 3. 恢复最新暂存代码(保留暂存记录)
git stash apply

# 4. 恢复并删除最新暂存记录
git stash pop

# 5. 清空所有暂存记录
git stash clear

四、开发常用避坑总结

  1. 禁止直接在 main/master 主分支开发:主分支仅用于合并稳定代码,所有功能、bug 修复均新建分支开发;
  2. 提交规范:commit 说明简洁清晰,标注功能、修复、优化类型,方便后续版本回溯;
  3. 谨慎使用 hard 强制回退:--hard 会丢失本地未提交/后续提交代码,操作前建议备份;
  4. 拉取代码优先:推送代码前先执行 git pull 同步远程最新代码,大幅减少合并冲突。

五、结尾

本文覆盖了 90% 开发场景所需的 Git 命令,从基础配置、分支协作到日常提交、版本回溯,均为实战验证的高效用法。Git 的核心逻辑是分区管理、版本追溯、并行协作,熟练掌握以上命令,足以应对个人开发、中小型团队协作的所有版本控制需求。

后续可进阶学习 Git 变基(rebase)、标签管理(tag)、多人复杂冲突解决等高级用法,进一步优化开发流程。


部分内容由AI生成,仅供参考