Git subtree使用

一、git subtree  与submodule 有类似的作用,可以实现仓内仓,但submodule的子仓是一个链接,subtree是把子仓的copy,类似与新增一个子仓branch .在父仓中几乎感觉不到子仓的存在,只有需要将子仓代码做同步时,才用到subtree的命令。

二、增加一个子仓

git subtree add -P   文件夹名    子仓git路径    branch名

git subtree pull -P   文件夹名    子仓git路径    branch名

例 :git subtree add -P test1  ssh://username@ip:port/test1.git master

也可以一步完成git subtree add -P   文件夹名  -f   子仓git路径    branch名       -f代表fetch

 

这样父仓库就多了个文件夹,并将子仓的commit 一起同步过来了,

将这个子仓push 到父仓

git push

三、修改新增文件夹名内的内容上传到父仓,例如test1内新增1.txt

就像普通仓库一样,git add test1/1.txt   git commit -m "test"   git push

此时ssh://username@ip:port/test1.git内的内容没有变化,

如果需要将这个更新同步到test1.git,执行git subtree push -P test1  ssh://username@ip:port/test1.git master

 

四:从子仓同步代码到subtree

即:从test1.git   同步更新到test1文件夹

git subtree pull -P test1  ssh://username@ip:port/test1.git master

然后将test1文件夹内更新同步到父仓,执行git push

 

五:删除subtree 子仓

git rm -r   文件夹      其实就和普通文件夹删除一样

然后commit   ,push

 

说白了就是subtree比直接copy后提交多了commit 记录和与原子仓同步代码的功能

 

https://blog.csdn.net/kinginblue/article/details/78290955

参考:https://www.jianshu.com/p/3096069e9b72

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Free飝Fly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值