Git合并混乱。差异显示差异,合并说没有差异

时间:2009-09-10 01:27:05

标签: git

我开始学习使用git,我遇到的情况我不理解(存储库是从svn中取出的)

我在一个分支jacob@379上承诺所有事情:

host$ git status
# On branch jacob@379
nothing to commit (working directory clean)

尝试与主人合并:

host:$ git merge master
Already up-to-date.

这令人困惑,因为差异说有差异!

host$ git diff master..jacob@379
warning: refname 'jacob@379' is ambiguous.
diff --git a/.classpath b/.classpath
index 8ba1225..5af1151 100644
--- a/.classpath
+++ b/.classpath
@@ -10,6 +10,11 @@
....

发生了什么事?

2 个答案:

答案 0 :(得分:3)

可能没有什么新东西可以合并,但你的分支机构的变化不在主机上。这些差异也会反映在提交中,因此您可以执行的简单检查是检查日志:

# See what's in my branch but not master
git log master..jacob@379

# See what's in master but not my branch
git log jacob@379..master

我猜你会在那里看到一些提交。想象一下:

o---o---A---B---C      master
         \       \
          ----D---E---F   jacob@379

在这种情况下,没有什么新内容可以合并到jacob@379中,但这两个分支仍然非常明显不同。

快速查看gitk --all可能会非常有用。

答案 1 :(得分:1)

我认为问题在于:

warning: refname 'jacob@379' is ambiguous.

尝试使用HEAD代替jacob @ 379

但是,仍然可能得到一个明确的分支名称。我认为@具有特殊含义。或者你有一个同名的标签或其他参考?

此外,弹出一个图形程序非常棒,该程序会显示所有标签和分支以及所有带有线条的分支。如果你有,请尝试:gitk --all