zoukankan      html  css  js  c++  java
  • github上fork别人的代码之后,如何保持和原作者同步的更新

    1.从自己fork之后的版本库clone

    $  git clone -o chucklu https://github.com/chucklu/Hearthstone-Deck-Tracker.git

    参数说明:

    -o <name>

    Instead of using the remote name origin to keep track of the upstream repository, use <name>.

    2.再将别人的版本库git remote add

    2.1  $git remote add epix37 https://github.com/Epix37/Hearthstone-Deck-Tracker.git

    2.2  $ git remote -v
    chucklu https://github.com/chucklu/Hearthstone-Deck-Tracker.git (fetch)
    chucklu https://github.com/chucklu/Hearthstone-Deck-Tracker.git (push)
    epix37 https://github.com/Epix37/Hearthstone-Deck-Tracker.git (fetch)
    epix37 https://github.com/Epix37/Hearthstone-Deck-Tracker.git (push)

    3.本地分支和远端分支映射处理

    参考如何将本地分支和远端分支进行映射   

     
    $ git branch
    chucklu_master
    *master

    chucklu_master分支用来对应自己远端的master分支

    master分支用来对应原作者的master分支

    (1)切换到master分支

    git checkout master

    首先确保目前处于master分支,上面的git branch就是查看本地分支的命令,master前面的*表示当前分支是master分支

    (2)同步原作者的代码

    git pull

    (3)切换到chucklu_master分支

    git checkout chucklu_master

    (4)变基或者合并

    git rebase master  

    git merge master

    (5)推送代码到自己的版本库

    git push chucklu HEAD:master或者

    git push chucklu chucklu_master:master

    假如自己fork版本库之后,已经在某个分支上进行了修改的话。

    那么rebase就不适用,需要使用cherry-pick来处理。

    为了确保cherry pick之后的代码,确实是自己所期望的,那么只需要对比一次,自己的分支的最后一次提交和原作者的分支的最后一次提交,看看差异,是否是自己额外修改导致的

    使用tortoisegit-->diff with previous version

    使用cherry-pick的注意事项,如果其中有某一个commit是合并导致的,那么这个commit就不需要进行cherry-pick

    今天看到一篇文章,貌似cherry-pick不推荐使用

    http://dan.bravender.net/2011/10/20/Why_cherry-picking_should_not_be_part_of_a_normal_git_workflow.html

    ====9月13日更新====

    如果你仅仅是同步原作者的master分支,而不需要进行合并操作的话,本地仅有一个分支也够用了

    不过,需要添加2个remote

    扩展:

    重新命名远端git remote rename oldname newname

    更多关于操作remote的命令,请参考http://www.ruanyifeng.com/blog/2014/06/git_remote.html

  • 相关阅读:
    有关Python,网络,机器学习,深度学习
    Python map使用
    左旋转字符串,翻转字符串
    使用Python创建二叉树,作为调试程序使用
    batchnorm2d函数理解,numpy数据归一化
    和为s的连续正数序列,和为s的两个数字
    判断是否为平衡二叉树
    原生js格式化json的方法
    ace editor 使用教程
    Vue+webpack+echarts+jQuery=demo
  • 原文地址:https://www.cnblogs.com/chucklu/p/4056373.html
Copyright © 2011-2022 走看看