git - git fetch 的奇怪行为

标签 git commit rebase git-checkout git-fetch

我在使用 GIT 获取时遇到了一个大问题......看这个

$ git fetch
From server:project
   422b4cb..a04c062  master     -> origin/master

$ git show-ref
ba113be885e66a5306d1646cd3db0801170c04f8 refs/heads/alpha-release
a04c062261beeb4a951337ebb58745945cac3562 refs/heads/master
a04c062261beeb4a951337ebb58745945cac3562 refs/heads/test
a04c062261beeb4a951337ebb58745945cac3562 refs/remotes/origin/HEAD
ba113be885e66a5306d1646cd3db0801170c04f8 refs/remotes/origin/alpha-release
a04c062261beeb4a951337ebb58745945cac3562 refs/remotes/origin/master

还有一个git fetch:

$ git fetch
From server:project
 + a04c062...422b4cb HEAD       -> origin/HEAD  (forced update)

$ git show-ref
ba113be885e66a5306d1646cd3db0801170c04f8 refs/heads/alpha-release
a04c062261beeb4a951337ebb58745945cac3562 refs/heads/master
a04c062261beeb4a951337ebb58745945cac3562 refs/heads/test
422b4cbac3db2784c8f6e94ffd99c7afcda9122d refs/remotes/origin/HEAD
ba113be885e66a5306d1646cd3db0801170c04f8 refs/remotes/origin/alpha-release
422b4cbac3db2784c8f6e94ffd99c7afcda9122d refs/remotes/origin/master

还有一个……

$ git fetch
From server:project
   422b4cb..a04c062  master     -> origin/master

$ git show-ref
ba113be885e66a5306d1646cd3db0801170c04f8 refs/heads/alpha-release
a04c062261beeb4a951337ebb58745945cac3562 refs/heads/master
a04c062261beeb4a951337ebb58745945cac3562 refs/heads/test
a04c062261beeb4a951337ebb58745945cac3562 refs/remotes/origin/HEAD
ba113be885e66a5306d1646cd3db0801170c04f8 refs/remotes/origin/alpha-release
a04c062261beeb4a951337ebb58745945cac3562 refs/remotes/origin/master

还有一个git fetch:

$ git fetch
From server:project
 + a04c062...422b4cb HEAD       -> origin/HEAD  (forced update)

$ git show-ref
ba113be885e66a5306d1646cd3db0801170c04f8 refs/heads/alpha-release
a04c062261beeb4a951337ebb58745945cac3562 refs/heads/master
a04c062261beeb4a951337ebb58745945cac3562 refs/heads/test
422b4cbac3db2784c8f6e94ffd99c7afcda9122d refs/remotes/origin/HEAD
ba113be885e66a5306d1646cd3db0801170c04f8 refs/remotes/origin/alpha-release
422b4cbac3db2784c8f6e94ffd99c7afcda9122d refs/remotes/origin/master

我的 refs/remotes/origin/HEADrefs/remotes/origin/master 总是强制更新到 422b4cb...

发生了什么事? 422b4cb... 是旧提交。

最佳答案

哇...在与 GIT 大战之后,我只使用以下方法解决了这个问题:

git push origin :HEAD

关于git - git fetch 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5094993/

相关文章:

git - 从裸存储库获取子模块哈希

git - 推送后如何链接到 Redmine 中的 Git 提交

git commit 打破时区

git - 如何将本地 git repo 从一个硬盘移动到另一个硬盘?

git - 空的 cherry-pick 消息中的 "possibly due to conflict resolution"是什么意思?

commit - BAPI_TRANSACTION_COMMIT 与 WAIT = 'X' 在 BADi 内

Git pull --rebase 将空格转换为制表符

git rebase --strategy=我们的用例澄清

git - git fetch 和 git merge 之间的概念区别?为什么他们对我有同样的感觉?

git - Bitbucket REST 接口(interface)和 GIT;如何从分支获取两个标签之间的日志历史记录