美文网首页
git subtree 的使用

git subtree 的使用

作者: waka | 来源:发表于2017-06-01 15:51 被阅读768次

    参考:
    Git Tools - Subtree Merging
    The power of Git subtree
    git subtree用法
    About Git subtree merges

    应用场景

    两个项目共用一部分代码,把这部分抽象出来,作为 subtree

    如何添加 subtree

    • git remote add -f <子仓库名> <子仓库地址>
    git remote add -f cloudwood-common https://github.com/yunlaiwu/cloudwood-common.git
    

    解释:其中-f意思是在添加远程仓库之后,立即执行fetch。

    我这里没有加 -f 参数,所以要手动 fetch
    • git subtree add --prefix=<子目录名> <子仓库名> <分支> --squash
    git subtree add --prefix=cloudwood-common cloudwood-common master --squash
    

    解释:–squash意思是把subtree的改动合并成一次commit,这样就不用拉取子项目完整的历史记录。–prefix之后的=等号也可以用空格

    执行完这步后就可以看到项目目录下已经出现了子目录

    从远程仓库更新子目录

    • git fetch <远程仓库名> <分支>
    git fetch cloudwood-common master
    
    • git subtree pull --prefix=<子目录名> <远程分支> <分支> --squash
    git subtree pull --prefix cloudwood-common cloudwood-common master --squash
    

    从子目录push到远程仓库

    • 首先进到子目录,去 add 和 commit

    • git subtree push --prefix=<子目录名> <远程分支名> 分支

    git subtree push --prefix cloudwood-common cloudwood-common master
    

    进入github可以看到更新成功

    相关文章

      网友评论

          本文标题:git subtree 的使用

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