zoukankan      html  css  js  c++  java
  • pull request的一些思考

       由于是团队使用的是PR工作模式,一般一个issue或者bug没有处理完成,是不能Pull Request(简称PR)的,只能在自己的fork的仓库上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版本了。

  • 相关阅读:
    网络基础、多线程、ftp任务铺垫
    文件上传下载、socketserver(并发)、解读socketserver源码
    模拟ssh、黏包、hashlib模块(MD5)
    面向对象多继承(C3算法)/网络编程
    Slideout吐槽
    HDU 1756 Cupid's Arrow 判断点在多边形的内部
    POJ 1584 A Round Peg in a Ground Hole 判断凸多边形,判断点在凸多边形内
    位运算 找出给定的数中其他数都是两个,有两个是一个的数
    NYOJ 1107 最高的奖励(贪心+优先队列)
    POJ 2653 Pick-up sticks (判断线段相交)
  • 原文地址:https://www.cnblogs.com/dahao1020/p/5812571.html
Copyright © 2011-2022 走看看