首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么枝格瑞特/主人落后这么远?

为什么枝格瑞特/主人落后这么远?
EN

Stack Overflow用户
提问于 2017-03-21 23:38:01
回答 1查看 623关注 0票数 0

每次我使用git-review结帐到审查分支时,如下所示:

代码语言:javascript
复制
j ❯❯❯ git-review -d 5779
Downloading refs/changes/79/5779/1 from gerrit
Switched to branch "review/jezor/5779"

status命令告诉我,我领先于gerrit/master分支:

代码语言:javascript
复制
j ❯❯❯ git status
On branch review/jezor/5779
Your branch is ahead of 'gerrit/master' by 364 commits.
  (use "git push" to publish your local commits)
nothing to commit, working tree clean

因此,我向gerrit/master分公司退房:

代码语言:javascript
复制
j ❯❯❯ git checkout gerrit/master
Note: checking out 'gerrit/master'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at cb563f2e... Old, old commit from six months ago

然后尝试将当前的主程序重新定位,并对其进行新的更改:

代码语言:javascript
复制
j ❯❯❯ git pull --rebase origin master
From ssh://my.projects.review:29418/some_project
 * branch              master     -> FETCH_HEAD
First, rewinding head to replay your work on top of it...
Fast-forwarded HEAD to dcf5ac6807455dcca33e288d830515c6bfe89aa0.

j ❯❯❯ git push origin HEAD:gerrit/master
error: unable to push to unqualified destination: gerrit/master
The destination refspec neither matches an existing ref on the remote nor
begins with refs/, and we are unable to guess a prefix based on the source ref.
error: failed to push some refs to 'ssh://jezor@my.projects.review:29418/some_project'

..。如你所见,没有成功。

这对我和我的团队没什么影响,因为我们已经习惯了。尽管如此,保持存储库的干净还是很好的。我猜想这条线git-review脚本中应该对此行为负责(将上游设置为gerrit/master而不是master)。

为什么这支树枝离我们这么远?

我能以某种方式更新它吗?

否则,我能完全摆脱它吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-22 11:18:45

首先,让我们澄清“主人”和“格瑞特/主人”两种术语的区别:

  • master =是名为master的本地分支(仅存在于本地存储库中),如果执行"git commit“、"git merge”或"git rebase“等命令,将对其进行更新。
  • gerrit/master =是名为master的远程分支的本地表示(对于克隆存储库的每个人来说都是可访问的),每次执行"git fetch“命令时都会对其进行更新。"gerrit“一词指的是远程存储库。"gerrit“远程可能是由git-review自动创建的,因为当"defaultremote”属性没有在".gitreview“git-review配置文件中定义时,这是默认名称。

要检查的事情:

  • .gitreview文件中的定义
  • "git远程-v“命令的结果
  • "git远程显示gerrit“和"git远程显示原点”命令的结果。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42940188

复制
相关文章

相似问题

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