Git自学成才——Pull Request

发起一个新的PR(pull request)比较容易,在网页上点击就能够,注意选择好目标分支。git

接下来,会进入review的阶段,这个阶段可能会比较漫长,review的comments和你的从新修改commit,甚至包括replyweb

在这个漫长的阶段,PR要merge的目标分支可能又会又不少的提交,即便你的PR被review经过了,解决冲突也是一件麻烦的事情,你能够选择在相似GitHub的网站上经过web的方式修改冲突(若是冲突比较少仍是能够的),另外一种方式就是在本地解决冲突(有IDE的帮助)再push上去。bash

接下来,介绍一下在这个漫长的PR阶段,如何保持代码在最小的冲突状况下,而且保持commit数量只有一个(不少人要求PR的commit只有一个)网站

好比,本身的分支是 feature/test,目标分支是 devui

  1. 保证本地的 feature/testdev 分支,代码都是最新的spa

  2. 切换到 feature/test 分支,执行code

git rebase dev
复制代码
  1. 手动解决冲突以后,执行
git add .
复制代码

用来标记冲突的文件已经解决。string

  1. git status 看一下,若是文件都是绿色的,就能够继续执行rebase
git rebase --continue
复制代码

用来让rebase继续执行。若是还出现冲突,请反复执行第3,4步。it

  1. 若是须要把commit数量压缩成1个,我这里选择使用reset
git reset --soft [commit-id]
复制代码

这里的 [commit-id] 指的是 feature/testdev 分支的共同父节点。class

  1. 而后执行一次commit
git commit -m "just test"
复制代码
  1. 一切顺利,执行push(须要强推)
git push -f origin feature/test
复制代码

反复执行以上的步骤,来度过可能很漫长的PR review阶段,直到最后成功merge到目标分支。

相关文章
相关标签/搜索