git日常之pull&request小技巧

新需求->开发->测试->pr->新需求....,应该是大部分写业务的程序员的日常了(架构师除外)。本文主要讲pr这一小步,也是作者痛定思痛之后学会的一个小技巧。

先说下背景,自己开发完之后先将代码提交到自己仓库,然后将代码部署到beta(测试)环境去测试。当然你有可能一次成功,而且也不需要任何优化。本文主要针对的是一个需求提交多次之后才达到提交pr条件的情况。

git add xx --> git commit -m 'xx' --> git push origin yourbranch,多次重复之后代码终于没问题(自己感觉)了,于是提交了pr。reviewer检查之后又给你提出了几个需要修改的地方(崩溃)。于是你又马上修改-->add/commit/push-->测试,但是从现在起每次提交都会给reviewer发邮件,如果不想让reviewer因为收到多次感到厌烦,你可能会先把pr关闭,悄悄地把bug改掉。但是目前一个需求已经有好多commit了,这个时候你想把这些commit合并成一个怎么办?在另外一个branch上重写一遍之前的代码?作者之前就是用这种蠢办法,疯狂复制粘贴,麻烦而且还不一定能保证没有遗漏任何之前的修改。本文就在不重写之前代码的情况下帮你解决这个问题。

前提,自己的仓库至少有两个分支branch1/branch2(master除外,master分支不宜随便动)。假如之前在branch1上add/commit/push 10次之后代码没问题了,而且保证branch2上和项目仓库master分支代码是同步的。这时候git checkout branch2将分支切换到branch2,然后执行git rebase(或者merge) branch1,这样就把之前branch1上的所有提交都同步到branch2上来了。注意同步到的是自己的本地仓库local repository而不是workspace(也就是说相当于在brabch2上已经commit了,还没有push),可以git status验证一下。这个时候branch2上还是有10个commit,现在就可以使用git rebase -i将这10个commit合并了,git push,重开pr,大功告成!

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

推荐阅读更多精彩内容

  • 配置 首先是配置帐号信息 ssh -T git@github.com#登陆github 修改项目中的个人信息 1 ...
    rochuan阅读 780评论 1 1
  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,660评论 1 26
  • git作为时下最流行的代码管理工具,Git权威指南总结了十条喜欢Git的理由: 异地协同工作; 现场版本控制; 重...
    古斟布衣阅读 1,851评论 0 12
  • 我怀着哀怨躺在冰冷的人行道上渐渐地死去。阳光透过高楼直射在我的脸上,周围的人越来越多,耳边模糊的听见尖叫声、警笛声...
    岚霜阅读 318评论 0 0
  • 这一年多来,因为很多因素,我没有离开家和办公室这个两点一线的地方。 前几天突然办公室突然通知我去市里培训,坦白说其...
    邑晓阅读 664评论 0 1