我在两台机器上工作,在第三台机器上使用原始存储库(可以从另外两台机器访问原始存储,machine1和machine2之间没有直接连接)。
# Machine 1
$ git branch
master
* testing
cms
# Machine 2
$ git branch
* master现在,我希望将testing分支推送到原点,并将其也放在machine2上,因此最终效果将是:
# Machine 2
$ git branch
* testing
master我试过了:
# Machine 1
$ git push origin testing
# Machine 2
$ git pull origin testing # bunch of merge conflicts
$ git checkout -b testing origin/testing # errors too当前状态为:
# Machine 1
$ git branch -r
origin/HEAD -> origin/master
origin/master
origin/testing该怎么做呢?
我的下一个问题可能是:如何删除origin/testing分支?
发布于 2010-06-24 19:33:48
您已经成功地将测试分支推送到源位置,所以现在只需要将分支推送到machine2即可。
不确定machine2上的存储库的状态,所以我会删除目录(或创建一个新的目录来使用),然后克隆Machine2上的存储库,然后进行签出测试……
因此,在Machine2上,在一个空目录中(新的或干净的):
$ git clone git@github/somewhere
$ git branch
* master
$ git checkout testing
# ...
# something about getting and switching
# ...
$ git branch
* testing
master发布于 2010-06-24 20:49:47
不使用git pull (获取和合并),而使用git fetch (它不会尝试与machine2上的当前分支合并,从而导致冲突):
# Machine 1
$ git push origin testing
# Machine 2
$ git fetch origin testing
$ git checkout -b testing origin/testing发布于 2015-09-11 16:29:45
你所要做的就是:
在Machine 1上,部署远程分支并将本地测试分支链接到它:
git push -u origin testing在Machine 2上,部署一个链接到远程测试分支的本地分支:
git fetch origin && git checkout --track origin/testing现在必须部署两个本地测试分支并将其链接到远程测试分支=)
现在,要删除远程分支,您可以简单地尝试执行以下操作:
git push origin --delete testing或
git push origin :testinghttps://stackoverflow.com/questions/3109456
复制相似问题