【发布时间】:2012-09-20 22:38:59
【问题描述】:
场景:
- 我新建了一个分支
- 破解它
- 提交
- 推一下
- 进一步破解
- 再次提交
- 再次尝试推送
Git 响应:
更新被拒绝,因为您当前分支的尖端落后 它的远程对应物。等等
我是唯一一个在这个分支上进行黑客攻击的人 - 没有其他人接触过它。远程分支实际上在本地分支之后。我根本不用拉。
(如果我拉动,Git 会报告两者之间的冲突,并强制我将分支合并到自身中)
为什么(可能)会发生这种情况?我该如何诊断/修复它?
需要明确的是,我没有在任何地方分支,没有其他人正在处理它:
Remote: Commit A -------- Commit B
Local: Commit A -------- Commit B -------- Commit C
C 是 B 的直线延续,不涉及分支。但是git认为C是A的一个分支:
Remote: Commit A -------- Commit B
------- Commit C
/
Local: Commit A -------- Commit B
不是;它是 B 的直接延续。
【问题讨论】:
-
git remote -v和git show remote origin的输出(假设来源是您遇到问题的遥控器)可能会有所帮助