Git自学成才——Pull Request

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

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

在这个漫长的阶段,PR要merge的目标分支可能又会又很多的提交,即使你的PR被review通过了,解决冲突也是一件麻烦的事情,你可以选择在类似GitHub的网站上通过web的方式修改冲突(如果冲突比较少还是可以的),另一种方式就是在本地解决冲突(有IDE的帮助)再push上去。

接下来,介绍一下在这个漫长的PR阶段,如何保持代码在最小的冲突情况下,并且保持commit数量只有一个(很多人要求PR的commit只有一个)

比如,自己的分支是 feature/test,目标分支是 dev

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

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

git rebase dev
  1. 手动解决冲突之后,执行
git add .

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

  1. git status 看一下,如果文件都是绿色的,就可以继续执行rebase
git rebase --continue

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

  1. 如果需要把commit数量压缩成1个,我这里选择使用reset
git reset --soft [commit-id]

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

  1. 然后执行一次commit
git commit -m "just test"
  1. 一切顺利,执行push(需要强推)
git push -f origin feature/test

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.GitHub 有什么用 学习优秀的开源项目开源社区一直有一句流行的话叫「不要重复发明轮子」,某种意义上正是因为...
    Clemente阅读 1,449评论 1 14
  • 目录 Git自学与掉坑实录(一)· 创建版本库· 添加提交文件至版本库 Git自学与掉坑实录(二)· 本地文件的修...
    达噜六阅读 496评论 0 1
  • git 指南 git操作 本地操作 git add <file>暂存工作区的修改到暂存区 git commit将暂...
    IrisZL阅读 611评论 0 0
  • Git 是目前最流行的分布式版本控制系统之一。 版本控制指的是,记录每次版本变更的内容和时间等细节,保留各版本之间...
    神齐阅读 1,464评论 0 7
  • 题记:东北有个习俗就是立秋要吃饺子,寓意“抢秋膘”。我的父亲生前最喜欢的食物就是饺子,每每我们回到家或是遇上节日,...
    莺筠阅读 508评论 2 16