首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Git中重置远程分支的基础

在Git中重置远程分支的基础
EN

Stack Overflow用户
提问于 2011-06-01 18:43:01
回答 5查看 176.4K关注 0票数 156

我正在使用一个中间的Git存储库来镜像一个远程SVN存储库,人们可以从其中进行克隆和工作。中间存储库的主分支每晚从上游SVN重新定位,我们正在处理功能分支。例如:

代码语言:javascript
复制
remote:
  master

local:
  master
  feature

我可以成功地将我的功能分支推送回遥控器,并最终得到我期望的结果:

代码语言:javascript
复制
remote:
  master
  feature

local:
  master
  feature

然后我重新设置分支来跟踪遥控器:

代码语言:javascript
复制
remote:
  master
  feature

local:
  master
  feature -> origin/feature

一切都很好。我想从这里做的是将feature分支重新设置为远程主机上的主分支,但我希望在本地计算机上执行此操作。我希望能够做到:

代码语言:javascript
复制
git checkout master
git pull
git checkout feature
git rebase master
git push origin feature

使远程功能分支与远程主节点保持同步。然而,这种方法会导致Git抱怨:

代码语言:javascript
复制
To <remote>
 ! [rejected]        feature -> feature (non-fast-forward)
error: failed to push some refs to '<remote>'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.

git pull做到了这一点,但却导致了我想要避免的合并提交。我担心消息声明的是feature -> feature而不是feature -> origin/feature,但这可能只是一个表示问题。

我是不是错过了什么,或者以完全错误的方式来做这件事?避免在远程服务器上执行rebase并不重要,但这会使修复来自rebase的任何合并冲突变得更加困难。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6199889

复制
相关文章

相似问题

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