我在git中使用read-tree
将ProjectA包含在ProjectB中。我把这两个项目都克隆到了我的电脑上。
/ProjectA
/ProjectB
/remote/ProjectA
当我从ProjectB(/ProjectB/remote/ProjectA
)内部对ProjectA进行更改时,目前我所做的传播所有更改的内容如下:
1)提交项目B(来自ProjectB的根目录):
git push origin master
2)将ProjectA推送到其远程存储库:
git subtree split --prefix=remote/ProjectA --onto temp_branch --branch temp_branch
git push -f https://github.com/myUserName/ProjectA.git temp_branch:master
git branch -D temp_branch;
3)更新ProjectA(来自ProjectA的根目录):
git pull origin master
当我有网络连接时,这可以正常工作。
我喜欢git的是我可以在本地工作而无需推送到我的远程存储库。但是,当使用read-tree
时,我还没有想出一种方法可以将我在ProjectB/remote/ProjectA
内所做的更改传播到ProjectA
,而无需进行两次推送和拉动。 如何保持通过read-tree
功能连接的本地存储库同步,而无需建立网络连接?我希望以某种方式进行工作是通过从ProjectB内部提交ProjectA,这些更改将提交给使用ProjectA和ProjectA本身的所有项目。
答案 0 :(得分:0)
我认为你可以从本地路径拉出而不是从遥控器上推拉。
Git不关心。
cd /ProjectA
git pull ../ProjectB/remote/ProjectA temp_branch