git拉入特定目录

时间:2012-05-03 20:49:18

标签: git repository clone push pull

我的情况如下:

我有一个git Repo A,其中包含一个文件夹,引用存储在git Repo B中的另一个“项目”中的文件。该文件夹实际上只是一个符号链接,因此它实际上并不存在。

我想做的是将来自Repo B的'git pull'打开到此文件夹中然后再回到Repo A中尽可能多地保留历史记录(如果需要改变其他方式)。

我可以手动上传所有文件,但这会丢失所有历史记录。此外,我可以只有2个单独的回购和链接,但我想尽可能尝试将项目B合并到项目A中。

git是否有某些内容......

git remote add projectb GITURLFORB
mkdir projectb
git add projectb && git commit projectb
git push origin master
git pull projectb master --into_folder projectb
git push origin master

谢谢

1 个答案:

答案 0 :(得分:2)

听起来您希望使用submodules来加入projectB。见http://book.git-scm.com/5_submodules.html

子模块的最大优点是projectA将指向projectB中的特定提交,即使在projectB中进行了新的提交。这允许projectB进化,而不必担心违反projectA。如果projectB中的新提交适用于projectA,则可以更新projectA中的指针。