博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git自学成才——Pull Request
阅读量:6495 次
发布时间:2019-06-24

本文共 891 字,大约阅读时间需要 2 分钟。

发起一个新的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到目标分支。

转载于:https://juejin.im/post/5cf098e7f265da1bd424660e

你可能感兴趣的文章
LeetCode - Binary Tree Level Order Traversal
查看>>
FTP协议完全详解
查看>>
iOS:实现图片的无限轮播
查看>>
【C语言天天练(十五)】字符串输入函数fgets、gets和scanf
查看>>
【环境配置】配置sdk
查看>>
accept()
查看>>
USB 2.0 Hub IP Core
查看>>
USB 2.0 OTG IP Core
查看>>
解读浮动闭合最佳方案:clearfix
查看>>
Charles使用
查看>>
Python GUI编程(Tkinter) windows界面开发
查看>>
P(Y|X) 和 P(X,Y)
查看>>
dynamic关键字的使用
查看>>
iOS 音乐播放器之锁屏效果+歌词解析
查看>>
【转】Google 的眼光
查看>>
android O 蓝牙设备默认名称更改
查看>>
阳台的青椒苗
查看>>
swapper进程【转】
查看>>
跨链技术与通证经济
查看>>
爬虫学习之-xpath
查看>>