git -- 从入门到熟悉

git -- 从入门到熟悉

周日 5月 31 2026
1288 字 · 6 分钟

前言

在实习后的团队协作中,对 Git 的熟练度要求比自己做小玩具时高很多。在实际操作中,我发现自己对 Git 的认识还有模糊不清的地方,同时也学到了一些便捷的操作。于是我借助 AI 进行总结,并结合个人体会整理成了这篇笔记。


协作流程全景图

一个成员从拿到需求到提交的基本流程:

  1. 同步主分支最新代码
  2. 创建功能分支
  3. 在功能分支上开发和提交
  4. 推送到远程仓库
  5. 发起 Pull Request / Merge Request
  6. 代码 review 与修改
  7. 合并并清理分支

1. 同步主分支最新代码

开始任何新工作前,都要确保本地的主分支(默认如 mainmaster)与远程完全同步。

BASH
# 切换到主分支
git switch main

# 或

git checkout main

# 拉取远程主分支的最新提交,并合并到本地
git pull origin main

# 若设置了远程可以直接

git pull

更推荐的做法:使用 fetch + merge 分步操作,以便在合并前了解远程变化。

BASH
git fetch origin               # 下载远程的更新,但不合并
git log main..origin/main      # 查看远程比本地多了哪些提交
git merge origin/main          # 确认无误后再合并

为什么要先同步? 基于旧版本创建分支,最终合并时冲突会非常多,也容易引入已经修复的 bug。


2. 创建功能分支

永远不要在主分支上直接修改代码。为每个需求、每个修复都新建一个独立分支。

BASH
git checkout -b feature/add-cart
# 或者使用较新的命令
git switch -c feature/add-cart

分支命名约定 按团队规范


3. 在功能分支上开发与提交

开发过程中的日常操作

BASH
# 查看当前状态
git status

# 将修改加入暂存区
git add file1.py file2.py
# 或分块精确暂存
git add -p

# 提交到本地仓库
git commit -m "..."

提交信息规范 同样按团队开发规范

同步上游变更

由于开发需要时间,期间主分支可能已经有了新提交。需要 定期将主分支的更新合并到你的功能分支

BASH
# 1. 先拉取远程最新状态
git fetch origin

# 2. 将 main 的最新内容合并进当前分支
git merge origin/main

如果出现冲突,就在当前分支解决(而不是等到 PR 阶段),减少延迟痛苦。解决冲突的方法:

  1. 打开冲突文件,编辑掉 <<<<<<<=======>>>>>>> 标记,保留正确代码。
  2. git add <已解决的文件>
  3. git commit 完成合并。

临时任务切换:使用 stash

需要暂存代码时,使用 git stash 可以将当前尚未提交的修改(工作区和暂存区)暂时保存起来,并将工作区恢复到干净的未修改状态。

BASH
git stash -u        # 暂存所有修改(包括未跟踪文件)

# 进行你需要的操作
git ...

git stash pop       # 完成后恢复之前的工作现场

4. 推送到远程仓库

完成功能开发、本地测试通过后,将分支推送到远端,以便发起代码评审。

如果是第一次推送该分支,Git 会提示设置上游分支,可使用 -u 参数建立追踪:

BASH
git push -u origin feature/add-cart

建立追踪后,后续的推送可以直接使用简单的命令:

BASH
git push

5. 发起 Pull Request (或 Merge Request)

这一步通常在 Git 托管平台(GitHub、GitLab 等)的 Web 界面上直接操作:

大概流程如:

  • 选择源分支(feature/add-cart)和目标分支(main
  • 以一定格式填写标题和描述
  • 指定评审人

6. 代码评审与追加修改

评审者会在 PR 中留下意见(譬如使用 comment )。你需要根据反馈修改代码,然后在同一个分支上追加提交。

BASH
# 继续在 feature/add-cart 分支上修改
git add .
git commit -m "..."
git push

提交历史整理修改: 强力的 git rebase

git rebase 是 Git 中强大又令人敬畏的命令, 它将会重新编排历史, 永远不要对已经推送到公共仓库、可能有其他人基于其工作的提交进行变基!

在你需要整理历史信息或修改较久之前的提交信息时将会用到它, 具体可以自行搜索

(如果你只是想要修改上一条提交信息可以使用 git commit --amend 命令)

git rebase -i 默认会打开 Git 配置中指定的编辑器, 当你没有进行配置时, 将会回退到 vim

请搜索对应编辑器规则并进行正确操作


7. 合并代码与清理分支

CI 自动化检查通过且评审也通过后,就可以合并到主分支。这一步通常由维护者操作

git 中还有很多实用的命令, 需要时再去搜索吧


Thanks for reading!

git -- 从入门到熟悉

周日 5月 31 2026
1288 字 · 6 分钟