猿问

Git子模块跟踪最新

Git子模块跟踪最新

我们正在将我们的(庞大)项目转移到GIT,我们正在考虑使用子模块。我们的计划是在超级工程中有三个不同的领导:发布,稳定,最新。项目负责人将处理发布和稳定的分支。他们将根据需要移动子模块。

问题是“最新”的头。我们希望超级工程“最新”头跟踪所有子模块的主分支(自动)。而且,如果它能够显示所有提交到子模块的历史,那就太棒了。

我看过奴隶,但这不是我们想要的。有什么建议吗?


aluckdog
浏览 437回答 1
1回答

函数式编程

GIT 1.8.2增加了跟踪分支的可能性。"git submodule“开始学习一种新的模式与远程分支的尖端集成。(而不是集成到超级项目的gitlink中记录的提交)。#&nbsp;add&nbsp;submodule&nbsp;to&nbsp;track&nbsp;master&nbsp;branch git&nbsp;submodule&nbsp;add&nbsp;-b&nbsp;master&nbsp;[URL&nbsp;to&nbsp;Git&nbsp;repo]; #&nbsp;update&nbsp;your&nbsp;submodule git&nbsp;submodule&nbsp;update&nbsp;--remote如果你有一个子模块已经存在你现在希望跟踪一个分支,见“如何使现有子模块跟踪分支".亦见Vogella关于子模块的教程有关子模块的一般信息。注:git&nbsp;submodule&nbsp;add&nbsp;-b&nbsp;.&nbsp;[URL&nbsp;to&nbsp;Git&nbsp;repo]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;^^^看见git submodule手册页:一种特殊的价值.用于表示子模块中分支的名称应该与当前存储库中的当前分支同名。.看见提交b 928922727d6691a3bdc28160f93f25712c565f6:submodule add*如果--branch是给定的,记录在.gitmodules这使您可以轻松地记录submodule.<name>.branch选择.gitmodules当您添加一个新的子模块时。有了这个补丁,$&nbsp;git&nbsp;submodule&nbsp;add&nbsp;-b&nbsp;<branch>&nbsp;<repository>&nbsp;[<path>] $&nbsp;git&nbsp;config&nbsp;-f&nbsp;.gitmodules&nbsp;submodule.<path>.branch&nbsp;<branch>减为$&nbsp;git&nbsp;submodule&nbsp;add&nbsp;-b&nbsp;<branch>&nbsp;<repository>&nbsp;[<path>]这意味着未来的电话$&nbsp;git&nbsp;submodule&nbsp;update&nbsp;--remote&nbsp;...将从用于初始化子模块的同一分支获得更新,这通常是您想要的。签名人:W.Trevor King原答复(2012年2月):子模块是父回购引用的单个提交。由于它本身就是一个Git回购,所以“所有提交的历史记录”可以通过git log在那个子模块里。因此,如果父模块要自动跟踪子模块的给定分支的最新提交,则需要:子模块中的cdGit获取/拉,以确保它在正确的分支上有最新的提交。光盘返回父回购添加和提交以便记录子模块的新提交。基奴(你已经看过了)似乎是最合适的,包括提交操作.由于需要签出正确的子模块分支、进行更改、提交,然后进入超级项目并提交(或至少记录子模块的新位置),对子模块进行更改是有点烦人的。其他选择包括详见.
随时随地看视频慕课网APP
我要回答