首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >推送本地Git分支回源

推送本地Git分支回源
EN

Stack Overflow用户
提问于 2010-06-24 19:22:06
回答 4查看 47.9K关注 0票数 31

我在两台机器上工作,在第三台机器上使用原始存储库(可以从另外两台机器访问原始存储,machine1和machine2之间没有直接连接)。

代码语言:javascript
复制
# Machine 1
$ git branch
  master
* testing
  cms

# Machine 2
$ git branch
* master

现在,我希望将testing分支推送到原点,并将其也放在machine2上,因此最终效果将是:

代码语言:javascript
复制
# Machine 2
$ git branch
* testing
  master

我试过了:

代码语言:javascript
复制
# Machine 1
$ git push origin testing

# Machine 2
$ git pull origin testing                # bunch of merge conflicts
$ git checkout -b testing origin/testing # errors too

当前状态为:

代码语言:javascript
复制
# Machine 1
$ git branch -r
  origin/HEAD -> origin/master
  origin/master
  origin/testing

该怎么做呢?

我的下一个问题可能是:如何删除origin/testing分支?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-06-24 19:33:48

您已经成功地将测试分支推送到源位置,所以现在只需要将分支推送到machine2即可。

不确定machine2上的存储库的状态,所以我会删除目录(或创建一个新的目录来使用),然后克隆Machine2上的存储库,然后进行签出测试……

因此,在Machine2上,在一个空目录中(新的或干净的):

代码语言:javascript
复制
$ git clone git@github/somewhere
$ git branch
* master

$ git checkout testing
# ...
# something about getting and switching
# ... 

$ git branch
* testing 
master
票数 16
EN

Stack Overflow用户

发布于 2010-06-24 20:49:47

不使用git pull (获取和合并),而使用git fetch (它不会尝试与machine2上的当前分支合并,从而导致冲突):

代码语言:javascript
复制
# Machine 1
$ git push origin testing

# Machine 2
$ git fetch origin testing
$ git checkout -b testing origin/testing
票数 24
EN

Stack Overflow用户

发布于 2015-09-11 16:29:45

你所要做的就是:

在Machine 1上,部署远程分支并将本地测试分支链接到它:

代码语言:javascript
复制
git push -u origin testing

在Machine 2上,部署一个链接到远程测试分支的本地分支:

代码语言:javascript
复制
git fetch origin && git checkout --track origin/testing

现在必须部署两个本地测试分支并将其链接到远程测试分支=)

现在,要删除远程分支,您可以简单地尝试执行以下操作:

代码语言:javascript
复制
git push origin --delete testing

代码语言:javascript
复制
git push origin :testing
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3109456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档