我有一个带有2个分支的git存储库:master和test.
主分支和测试分支之间存在差异.
两个分支都承诺所有更改.
如果我做:
git checkout master
git diff test
出现一个充满变化的屏幕,显示出差异.我想合并测试分支中的更改,所以:
git merge test
但得到消息"已经是最新的"
但是,检查每个不同分支下的文件清楚地显示了差异.
这里有什么问题,如何解决?
我做了一个git status,它说
Your branch is up-to-date with 'origin/master'.
但我还是做了一个git pull,突然它说
14 files changed, ...
而且我觉得我被骗了。我怀疑 git 没有坏。这一定意味着我不明白一些事情。
我在这里和这里做了一些阅读,并学习了两种非破坏性的方式来询问我是否是最新的
git status -uno
git fetch --dry-run
由于fetch是pull我的一部分,我认为这两个会以与前两个相同的方式不同意。
从根本上让我感到困惑的是,我认为“最新”的意思是:“嘿,我们比较了这个存储库(主分支)的两个副本,它们是相同的”
好的,但是如果我可以用两种不同的方式提出问题并得到两种不同的答案,那么当每个问题都是关于比较两个不同的副本时,这是否意味着存储库必须至少有三个副本?
如:
A == B != C
我知道有 master 的远程副本
我知道有 master 的本地副本
这第三件事是什么鬼?