【问题标题】:How to push to GitHub after amend [duplicate]修改后如何推送到 GitHub [重复]
【发布时间】:2018-09-17 04:36:55
【问题描述】:

我提交了我的文件并推送到了 GitHub。但我忘了添加我的 HTML 文件。所以我用git commit --amend 来修改我的提交。但是现在我该如何解决我在 GitHub 上的错误呢?

【问题讨论】:

  • 你可以尝试压缩提交git reset --soft HEAD~1而不是add所有文件并再次提交,这将覆盖你的最后一次提交
  • git push --force-with-lease
  • @JB Nizet 抱歉,在发布我的答案之前我没有看到您的评论...

标签: git github


【解决方案1】:

正如@Yoginth 所指出的,您可能会使用git push --force,但最好(因为更安全)改为使用git push --force-with-lease

在这个方便的list of git tips中描述了相应的语法:

git push --force-with-lease <remote-name> <branch-name>

更准确地说,如果 remote 分支(例如,repo origin 中的分支 master)有在 中未知的提交,git push --force-with-lease 将拒绝强制推送本地 分支origin/master

【讨论】:

    【解决方案2】:

    使用push --force 命令强制推送旧的提交。

    git push --force example-branch
    

    https://help.github.com/articles/changing-a-commit-message/

    【讨论】:

      【解决方案3】:

      所有这些,请记住,修改之前推送的提交是一种不好的做法(坏坏),只有在您推送的分支只是您的分支而不是共享分支的情况下才安全.

      如果其他人从该分支中​​提取,可能会导致冲突,以及许多意外情况,例如:

      • 合并冲突
      • 覆盖更改
      • 头痛
      • 关节痛
      • 全球变暖

      【讨论】:

        猜你喜欢
        • 2017-07-02
        • 2021-04-10
        • 1970-01-01
        • 2022-01-20
        • 2021-01-27
        • 2013-05-06
        • 2021-11-20
        • 2016-07-04
        • 1970-01-01
        相关资源
        最近更新 更多