git subtree

git subtree

1.在A项目中添加一个远程连接如下:

git remote add subtree-origin git@github.com:xxx/xxx/x.git

2.使用subtree命令添加需要依赖的远程仓库

git subtree add --prefix=subtree(目录) subtree-origin master

该命令解释如下:
从subtree-origin这个远程地址拉取master分支到本地的subtree目录

3.在parent项目里拉取子模块

git subtree pull --prefix=subtree subtree-origin master --squash

# 此命令为:拉取subtree-origin上的master分支到本地的subtree上
--squash : 
无此参数,则会把子模块的所有提交记录一条一条的拉取过来,在去穿件一个合并提交,
有此参数,则把所有子模块的所有提交记录合并为一条提交,在把合并的提交merge到当前分支上,所以到时候在主项目上会多出来两个提交,子模块远程提交历史在本地上就没有了。

4.在parent项目里修改child模块并将对child相关的修改推送到parent的远程仓库和child本身的远程仓库

git subtree push --prefix=subtree subtree-origin master
命令意思使用git subtree push命令把对本地subtree的修改推送到远程subtree-origin 的master分支上。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文首发在segmentfault中 背景 最近工作中遇到了一个问题:随着项目越来越多,很多项目依赖同一个模板或是...
    alv阅读 12,351评论 1 5
  • 使用git subtree有一段时间了,主要用来解决多个项目共同使用相同代码的同步问题,特意简单整理了一下相关知识...
    Smileswlin阅读 11,054评论 4 7
  • 背景 项目A与项目B存在公用模块,在项目A中修改Bug或增加新功能需要同步到项目B中,由于存在区别所以还不能完全c...
    Archerlly阅读 21,092评论 3 14
  • 关于子仓库或者说是仓库共用,git官方推荐的工具是git subtree。 我自己也用了一段时间的git subt...
    好好编程阅读 14,112评论 0 10
  • 跑步跑到一半,瓢泼大雨,我赶紧冲进前面亭子,暂且一避。 一位老太唤我坐她身旁,拿出手巾,让我赶紧擦擦刚被淋湿的头发...
    五妹微薇阅读 1,864评论 2 1

友情链接更多精彩内容