我们有一个大项目B,我们想在其他项目的不同地方使用它的一部分。例如,
git remote add -f Bproject /path/to/B
git merge -s ours --no-commit Bproject/master
git read-tree --prefix=dir-BA/ -u Bproject/master:subdirA
git read-tree --prefix=dir-BB/ -u Bprorect/master:subdirB
git commit -m "Merge B project as our subdirectory"
效果很好。然后我们更新projectB的subdirA和subdirB并尝试使用子树合并策略:
git pull -s subtree Bproject master
它不是我们对它的期望。可能有人知道我们如何在其他项目中使用projectB的不同部分?
答案 0 :(得分:1)
听起来您可能想要使用git-submodule
,它允许您将另一个仓库的内容拉入您的仓库工作副本的子目录中。以下是使用git-submodule
的一些很好的资源:
要明确的是,存储库的内容和历史仍然不同,但这种工作复制拼接通常是人们想要的。另请注意,子模块引用指向特定版本(如果您熟悉它们,则类似于svn externals
),这意味着如果没有明确更新它们,它们将不会更改。
如果我误解了你想要做的事情,请告诉我。