我正在研究两台机器和第三台机器上的原始仓库(原点可以从其他两台进入,机器1和机器2之间没有直接连接).
# Machine 1
$ git branch
master
* testing
cms
# Machine 2
$ git branch
* master
Run Code Online (Sandbox Code Playgroud)
现在,我想将testing分支推送到原点并将其放在machine2上,因此最终的效果将是:
# Machine 2
$ git branch
* testing
master
Run Code Online (Sandbox Code Playgroud)
我试过了:
# Machine 1
$ git push origin testing
# Machine 2
$ git pull origin testing # bunch of merge conflicts
$ git checkout -b testing origin/testing # errors too
Run Code Online (Sandbox Code Playgroud)
目前的状态是:
# Machine 1
$ git branch -r
origin/HEAD -> origin/master
origin/master
origin/testing
Run Code Online (Sandbox Code Playgroud)
怎么做?
我的下一个问题可能是:如何删除origin/testing分支?
Bru*_*uno 23
git pull尝试git fetch(不会尝试与machine2上的当前分支合并,并导致冲突),而不是使用(取出和合并)
# Machine 1
$ git push origin testing
# Machine 2
$ git fetch origin testing
$ git checkout -b testing origin/testing
Run Code Online (Sandbox Code Playgroud)
aba*_*arr 16
您已成功将测试分支推送到原点,因此现在您只需要将分支转到machine2.
不确定机器2上的回购状态,所以我会删除目录(或者创建一个新的目录),然后在Machine2上克隆回购和结帐测试......
所以在Machine2中的空目录(新的或干净的):
$ git clone git@github/somewhere
$ git branch
* master
$ git checkout testing
# ...
# something about getting and switching
# ...
$ git branch
* testing
master
Run Code Online (Sandbox Code Playgroud)