Git push on branch表示它是最新的,但事实并非如此

时间:2013-09-25 14:50:22

标签: windows git

计算机A上的一位同事推了一个分店,我在电脑B上进行了本地检查。我们快乐地推了一个星期。

然后我使用git checkout -b M403 remotes/origin/M403-Some-Feature将分支机构作为M403拉到计算机C上,所以我的理解是这个本地分支跟踪遥控器。

我的同事和我坐在这台电脑上并进行了合并,从分支机构到主机,反之亦然。然后,我需要将对M403的更改共享给服务器,以便我们可以在普通计算机上恢复它。

当我推动时,我注意到它说[new branch]git branch --all显示遥控器上的另一个分支,缩写名称为M403。

我再次推送,但这次指定了远程分支的完整路径remotes/origin/M403-Some-Feature,但又说[new branch]

从计算机B,当我提取更改时,它说它是最新的,但我没有看到更改。

从计算机C,当我使用短名或长名推送到任何M403分支时,它说它是最新的。

我添加了一个更改只是为了看,但即使计算机C推动它,它已经进入黑洞并从其他任何地方拉动都看不到变化。

发生了什么事?

更新

  • 我删除了旧的repo文件夹,重新克隆。
  • 使用git checkout -t remotes/origin/Lalalala
  • 检出远程分支
  • 合并大师。
  • 由于git push跟踪,它知道如何处理-t。{/ li>
  • 拉到电脑B上,一切都很好。

谁知道第一次出了什么问题。

1 个答案:

答案 0 :(得分:0)

使用git checkout -t remotes/origin/branch_name

我无法确定出现了什么问题,我已经能够使用git checkout -b local_name remotes/origin/branch_name分享一个分支数月,但这次它出错了。

再次使用-b再次失败,这是一个更奇怪的问题,其中一个拉动说明它是最新的,并且推送说有待撤销的更改。

使用-t工作。在这两种情况下,分支跟踪显然都配置正确,状态显示本地和服务器之间的提交差距。