使用read_tree在没有网络连接的情况下传播对git子树的更改

时间:2014-03-01 12:19:14

标签: git git-subtree

我在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本身的所有项目。

1 个答案:

答案 0 :(得分:0)

我认为你可以从本地路径拉出而不是从遥控器上推拉。

Git不关心。

cd /ProjectA
git pull ../ProjectB/remote/ProjectA temp_branch