【问题标题】:Github commiting in the same commit that prevousely commitedGithub 在之前提交的同一提交中提交
【发布时间】:2019-10-27 23:10:23
【问题描述】:

我想通过另一个更改来保持相同的提交。

几个小时前,我换了个地方,然后推到我的原点。

git commit -m "header removed"

然后我将它推送到远程源,例如:

git push origin mybranhname

推送后我意识到我需要再次更改一些内容并且我再次更改了一些代码。

现在我想在同一个提交中推送更改,可以吗?

我的意思是,我不想使用新命名的提交再次提交。我想提交header removed

我不想打开新的提交。我可以吗?

【问题讨论】:

  • 你可以看到这个:Link

标签: git github git-branch git-commit


【解决方案1】:

如果分支没有被共享(无论你是单独在整个 repo 上工作还是单独在这个分支上工作),只需修改并强制推送:

# do your changes in the file, then
git add path/to/changed/file
git commit --amend
git push --force origin HEAD

但如果分支是共享的,您应该不这样做。在这种情况下,您必须将新更改保留为新提交,并像往常一样将其推送到分支顶部。

【讨论】:

  • Git 永远不知道是否有人拉出了错误的 ref。该信息必须通过其他方式确定,--force-with-lease 不这样做。只有当有问题的 ref 有并发的 writers 时,它才有帮助。
  • @j6t 哎哟......非常感谢您的评论,但这意味着我在这个领域有一段时间处于危险境地。我将不得不进一步研究它。已编辑。
  • @j6t 嗯...我回去重读了doc....中的整个内容,但我没有看到您所描述的内容。而是确认我到目前为止的想法。你能分享你得到信息的来源吗?并且 git 不需要知道 谁 提取了错误的 ref。要么是一样的,要么是改变了。这是这里唯一的标准。
  • --force-with-lease 仅在有人拉出然后将其推回他们的工作到该存储库中的那个引用时才有帮助。但是,如果有人在没有告诉你的情况下只是对分支进行了拉动和做某事,这将无济于事。无所不在的警告“只有在您确定没有人依赖错误提交时才这样做”解决了后一种情况,您实际上只能知道是否存在某种形式的通信。 --force-with-lease 仅在通过存储库中的 ref 进行通信的极少数情况下有所帮助。
  • @j6t 好的,这也是我得到的,现在清楚多了,我一定误解了你的第一条评论。
猜你喜欢
  • 2010-10-13
  • 2011-06-14
  • 2023-03-29
  • 2017-09-09
  • 1970-01-01
  • 2017-05-08
  • 2013-12-24
  • 2015-05-07
  • 2013-05-21
相关资源
最近更新 更多