代码之家  ›  专栏  ›  技术社区  ›  AnchovyLegend

使用不同的提交消息强制推送提交-获取“所有最新”通知

git
  •  0
  • AnchovyLegend  · 技术社区  · 7 年前

    我不小心把一些“进行中”代码推到了原点。后来我承诺并推动了一些其他的起源变化。在推送所有内容并注意到推送进行中代码的错误之后,我注意到了重要提交的提交散列,并执行了 git reset --hard HEAD^^^^ ,然后我选择我的提交,从堆栈中删除正在进行的提交,然后完成正在进行的提交并更新了提交消息。然后我强迫推到原点,得到一个消息,说一切都是最新的。

    尽管如此,git历史记录和提交消息在源代码中与我在本地拥有的完全不同。我想强制推送,并让origin反映与本地相同的提交消息。

    目前唯一的区别似乎是commit消息。

    是否有方法用本地消息更新远程提交消息,即使没有 diff ? 或者,如果源和本地之间没有真正的区别,就没有办法更新远程提交消息?

    0 回复  |  直到 7 年前
        1
  •  2
  •   Romain Valeri    7 年前

    使用不同的提交散列(因为消息是在生成散列时输入的),您的提交只是 再次提交 对于你的远程回购, 即使是完全相同的文件树 .

    是的,在樱桃采摘事件之后,强行推到遥控器确实是一种方法,所以如果你在推的时候有一个“最新”的信息,这意味着这里的东西不是你想的那样。要么你不是在推你想推的那根树枝,要么是你没有描述的其他东西。

    你也可以查一下 git log --all --oneline --decorate --simplify-by-decoration 查看不同引用指向的位置(即,分支及其远程对应项)。