如何同步一个git仓库的子目录



我想推送到只有一个git存储库的子目录。下面是我想要实现的一个例子:

假设我有一个存储库,包含两个文件夹AB(它们是顶级文件夹,如果重要的话)。我想工作,并推动变化到B只,而其他人正在A工作,甚至可能在B以及。因为我想把我的修改提交回来,所以我不能把A放在.gitignore文件中,也不能用git rm -rf --cached A,因为A是别人需要的,但是我知道,我永远不会碰它包含的任何文件,我就是不想存储它不需要的文件。我也不能使用submodules,因为我不想更改原始存储库,也不想维护第二个存储库。

所以我的问题是:这是可能的吗?如果可以,如何实现这一目标?

您不能从repo中的特定文件夹中拉或推。你拉或推树枝

你是否考虑过在B上做分支并切换到它,这样你就不会污染你的团队在A上做的工作?

如果你想将你的团队在主分支上所做的工作检索到你自己的分支中,你甚至可以重新建立你的分支。

可以将A添加到.git/info/exclude文件中。该文件的工作原理就像。gitignore,但不会离开本地机器,因此不会影响您的同事。

另一种方法是拆分您的repos,然后使用subtree而不是submodules来跟踪子目录中的更改。子树可以避免子模块带来的一些不便,但是保持同步仍然需要做更多的工作。

最新更新