git subtree 的使用

2017-06-01  本文已影响768人  waka

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

应用场景

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

如何添加 subtree

git remote add -f cloudwood-common https://github.com/yunlaiwu/cloudwood-common.git

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

我这里没有加 -f 参数,所以要手动 fetch
git subtree add --prefix=cloudwood-common cloudwood-common master --squash

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

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

从远程仓库更新子目录

git fetch cloudwood-common master
git subtree pull --prefix cloudwood-common cloudwood-common master --squash

从子目录push到远程仓库

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

进入github可以看到更新成功

上一篇下一篇

猜你喜欢

热点阅读