项目开发拉取提交代码流程总结(Git)

团队开发中拉取开发提交代码的标准流程的总结,便于整理思路。

代码提交

一、基于最新主干创建独立分支

- 拉取最新主分支代码:
  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可以分块添加

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值