码迷,mamicode.com
首页 > 其他好文 > 详细

pull request的一些思考

时间:2016-08-27 12:36:50      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

   由于是团队使用的是PR工作模式,一般一个issue或者bug没有处理完成,是不能Pull Request的,只能在自己的仓库上commit和push, 完成了以后再向主仓库的相关分支发送PR,之后由测试人员在测试机上fetch PR主仓库中的PR,进行测试,测试完毕通过之后才合并PR到主仓库的主分支上。

   PR的工作模式是优秀的开源软件工作模式的代表,能给开源项目发送PR,当你的PR被开源项目作者合并那是一件很开心的事。

   最近开了一个新分支来开发一个大功能,让我很头疼的是在埋头开发时,没开发完不能随便PR到主仓库,但是偶尔要从主仓库中拉代码下来更新,这时候可能会有冲突,而太久没pull,即使只是一个文件冲突了,解决冲突后还要把别人commit的代码都重新提交一次,就个文件量就很大了。导致我在码云上pull request时,总是提示无法加载diff数据。

       技术分享

 

 遇到这种情况我目前的解决办法是:

 1.先删除当前为了解决冲突的commit:git reset --hard HEAD^

 2.还原冲突文件:

    git log xxx  查改改文件的日志

  git reset 版本号 xxx 回退到指定的版本

  git commit -m "文件回退" 提交本地

    git checkout xxx 更新到工作目录

 3.重新合并分支(我是在master分支上pull主仓库的代码,然后再开发分支上合并master分支):git merge master

 4.重新在冲突文件上补上你冲突的内容,然后重新add、commit即可。

 

在进行以上操作时最好先git checkout -b 出一个备份分支,最好还要push到远程仓库,毕竟数据是无价的。

当然也可以用git reflog找回你之前回退的版本号,然后再git reset --hard 版本号。(版本号取前几位就行了)这样就回退到你原来的commit版本了。

 

pull request的一些思考

标签:

原文地址:http://www.cnblogs.com/dahao1020/p/5812571.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!