Man*_*noj 32 git github gitlab
我想创建一个公共仓库,从我的主仓库(私人)中放入一些样本文件.有没有办法软件链接从git仓库到另一个git仓库的几个文件夹?
Cod*_*ard 62
然后,您应该使用子模块执行此任务.
子模块是同一根下的不同git存储库.
这样,您可以在根存储库中的文件夹级别管理2个不同的项目
Submodules
允许外部存储库嵌入源树的专用子目录中,始终指向特定的提交.
git submodule
到目前为止,将您的大项目分解为子项目.
现在使用以下命令将每个子项目添加到主项目:
git submodule add <url>
Run Code Online (Sandbox Code Playgroud)
项目添加到您的仓库后,您必须初始化并更新它.
git submodule init
git submodule update
Run Code Online (Sandbox Code Playgroud)
由于Git的1.8.2新的选项--remote
加入
git submodule update --remote --merge
Run Code Online (Sandbox Code Playgroud)
将fetch
来自每个子模块上游的最新变化merge them in
,以及子模块check out
的最新版本.
正如文档描述的那样:
--remote
此选项仅对update命令有效.不使用超级项目记录的SHA-1来更新子模块,而是使用子模块的远程跟踪分支的状态.
这相当于在每个子模块中运行git pull.
但是,如何在C中的bug修复场景中推送提交,这会影响与父层共享的代码?
再次:使用子模块将您的代码作为其内容的一部分放在主项目中.将其本地放在文件夹中或将其作为子模块的一部分之间的区别在于,在子模块中,内容被管理(提交)到不同的独立存储库.
这是子模块的示意图 - 项目在另一个项目中,其中每个项目都是一个独立的项目.
git subtree
Git子树允许您将任何存储库作为另一个存储库的子目录插入
非常相似,submodule
但主要区别在于管理代码的位置.在子模块中,内容放在一个单独的仓库中,并在那里进行管理,允许您将其克隆到许多其他仓库.
subtree
将内容作为根项目的一部分进行管理,而不是在单独的项目中进行管理.
而不是写下如何设置和理解如何使用它,你可以简单地阅读这篇优秀的文章,这将解释一切.
https://developer.atlassian.com/blog/2015/05/the-power-of-git-subtree/
归档时间: |
|
查看次数: |
36283 次 |
最近记录: |