1 前提条件

  • 由于 Pull Request 流程的限制,我无法直接 push 到主分支 master。因此,每次提交代码时,我需要将更改 push 到远程的 xieyan 分支,由他人 review 后再 merge 到主分支。
  • 我在本地通常使用 VS Code 操作 Git。如果本地分支为 master,远程推送时只能选择 xieyan 分支,每次 commit 和 push 时都会提示我创建分支。

2 操作

2.1 操作分支

在本地创建并切换到个人分支进行开发,然后将更改 push 到远程个人分支,具体步骤如下:

1
2
3
4
5
git checkout -b xieyan # 创建并切换到 xieyan 分支,当前所有 commit 也将保留在 xieyan 分支上
# 进行代码修改
git add <文件名> # 添加修改的文件
git commit -m '提交说明' # 提交更改
git push origin xieyan # 将更改推送到远程 xieyan 分支

2.2 更新本地开发分支

若远程主分支 master 上有了新的更改,需要将其同步到本地 xieyan 分支。可以先拉取更新,再选择 mergerebase 操作:

1
2
git fetch origin          # 拉取远程更新
git merge origin/master # 或者选择 git rebase origin/master

3 合并与变基的选择

  • merge:会将远程 master 的更改直接合并到 xieyan 分支上,生成一个新的合并提交(merge commit)。这种方式适合在提交历史中保留合并记录的情况,操作简单且不会修改已有历史。
  • rebase:将 xieyan 分支的提交重新应用在 origin/master 最新的提交之后,保持提交历史整洁、线性,且无多余的合并提交。需要注意,rebase 过程中可能会产生冲突,适合在本地开发分支上进行。