美文网首页
git fork使用记录

git fork使用记录

作者: 神棄丶Aria | 来源:发表于2019-07-21 15:28 被阅读0次

    1、背景

    项目leader要求,对原仓库fork,减少主仓库分支的创建与便于管理。
    使用平台:gitlab

    2、fork仓库与原仓库关联

    以下将原仓库称为仓库A,fork仓库称为仓库B。
    fork了仓库A得到仓库B后,我们同样希望在B时我们能同步A的代码。这时候只要将A添加为B的上游仓库即可。

     git remote -v
    origin  ssh://git@gitlab.fork_repo.domain:10022/**.git (fetch)
    origin  ssh://git@gitlab.fork_repo.domain:10022/**.git (push)
    
     git remote add upstream ssh://git@gitlab.origin_repo.domain:10022/**.git 
    
     git remote -v
    origin  ssh://git@gitlab.fork_repo.domain:10022/**.git (fetch)
    origin  ssh://git@gitlab.fork_repo.domain:10022/**.git (push)
    upstream        ssh://git@gitlab.origin_repo.domain:10022/**.git (fetch)
    upstream        ssh://git@gitlab.origin_repo.domain:10022/**.git (push)
    

    3、更改fork仓库的子模块关联

    当我们fork的仓库有子模块时,总想要将子模块也更改为我们fork的子仓库。
    (1)找到项目根目录下的.gitmodules文件,打开后每个子模块都会对应各自的仓库url地址,把url改成自己fork的子模块仓库地址即可
    (2)更新子模块信息

    git submodule sync
    
    git submodule update --init --recursive
    

    这样就将子模块替换为自己fork的仓库。同时为了保持与上游仓库同步,可以将.gitmodules的修改复原。

    4、同步fork仓库与原仓库代码

    其实和原本拉代码的步骤一样,拉某一分支——fix冲突——合并推上远程仓库

    git fetch upstream master
    git merge master
    git push upstream master
    //这里执行了拉下分支——合并——推上仓库的操作
    
    //一般我是
    git pull upstream master
    git push
    

    5、原仓库有的分支拉到fork仓库

    git checkout -b new_branch upstream/new_branch
    git push -u origin new_branch
    

    相关文章

      网友评论

          本文标题:git fork使用记录

          本文链接:https://www.haomeiwen.com/subject/hqyxpqtx.html