团队开发中拉取开发提交代码的标准流程的总结,便于整理思路。
代码提交
一、基于最新主干创建独立分支
- 拉取最新主分支代码:
git checkout main
git pull origin main
- 创建独立功能分支:
git checkout -b feature/feature-name
自动在远程创建同名分支并建立跟踪关系: git push -u origin feature-branch 或
git push origin feature-branch:feature-branch
二、开发规范:小步提交、专注功能
- 频繁本地提交,每次提交只包含一个功能点或修复:
git add .
git commit -m "feat: 实现用户登录接口"
- 不频繁拉取主分支,除非明确需要同步最新变更(避免引入不必要的冲突)。
- 定期推送远程分支:
git push origin feature/feature-name
三、合并前同步:避免版本回退与冲突
当主分支有新提交,需将更新同步到当前功能分支:
1. 切换回主分支并拉取最新代码:
git checkout main
git pull origin main
2. 切回功能分支,合并主分支更新:
git checkout feature/feature-name
git merge main # 将 main 合并到 feature-name
3. 解决冲突:
- 打开冲突文件,删除标记 `<<<<<<< HEAD`、`===`、`>>>>>>>`;
- 保留正确代码,保存文件;
- 标记冲突已解决:
git add .
git commit -m "fix: 解决与main分支的合并冲突"
不要在功能分支中直接 `git pull origin main`,而应使用 `git merge main`,以明确控制合并点 。
四、提交合并请求(MR/PR)并审核
- 推送功能分支到远程:git push origin feature/feature-name
- 在 GitLab/GitHub 等平台创建 Merge Request / Pull Request,描述变更内容。
- 等待代码审核通过后,由负责人将分支合并至主分支(如 `main`)。
> - 不要直接 `push` 到 `main` 分支(通常受保护);
> - 不要强制推送(`--force`)。
五、合并后清理
- 拉取最新主分支:
git checkout main
git pull origin main
- 删除已合并的本地及远程功能分支(可选但推荐):
git branch -d feature/feature-name
git push origin --delete feature/feature-name
Git pull 与 rebase
- 对于公共分支(如
main):推荐使用git pull(默认合并方式),避免重写历史 - 对于个人分支:推荐使用
git pull --rebase,保持提交历史整洁 - 团队协作:如果团队习惯保持线性历史,可配置
git config --global pull.rebase true
push代码与远程有冲突,同时无法git pull下来,可使用git pull --rebase 解决冲突后git add 修改后的文件,再git rebase --continue,此时会出现文本编辑,可编辑提交信息,如果不添加信息可直接:wq退出,之后git push提交。
Git Revert
Git revert head/commit_id,撤销当前提交的commit的修改
Git add -i
交互式添加,可以一次添加多个文件
*** Commands ***
1: status 2: update 3: revert 4: add untracked
5: patch 6: diff 7: quit 8: help
输入 2 进入添加模式,根据序号选择添加的程序,多个添加使用空格间隔
staged unstaged path
1: unchanged +22/-1 analyze.py
2: unchanged +4/-22 ChatBox.tsx
之后可直接回车跳回上一级,再用q退出交互就可以commit了。
注意:
选中后是无法在交互模式中取消add的,
同时Update是一次添加整个文件,patch可以分块添加

1万+

被折叠的 条评论
为什么被折叠?



