【问题标题】:Can I change the last commit pushed to the remote repository? [duplicate]我可以更改推送到远程存储库的最后一次提交吗? [复制]
【发布时间】:2021-09-18 21:25:39
【问题描述】:

假设这是我在提交和推送到远程存储库时在我的暂存区域中的课程:

public class Money {
    private int amount;
    private String currencyCode;

    public Money(int amount, String currencyCode) {
        this.amount = amount;
        this.currencyCode = currencyCode;
    }
}

在那之后,我意识到我没有添加应该包含在最后一次提交中的 getter 和 setter。

有没有办法更改已经推送到远程存储库的最后一次提交(添加 getter 和 setter)?

或者我应该只是添加一个新的提交,其中包含一些表明这是对先前提交的改进的消息?

【问题讨论】:

标签: git git-commit git-push


【解决方案1】:

最好的方法是通过修复进行新的提交。保持历史清晰非常重要。

但仅用于教育目的: 您可以使用 --amend 标志进行提交,然后使用 --force 标志进行推送。你得到了一个错误,因为 git 试图将你的远程存储库保存干净。你应该告诉你明白你想做什么,通过添加 --force git push --force

【讨论】:

  • “保持历史清晰是非常重要的。” - 我知道这就是为什么我不想用这么小的改动创建一个新的提交(这只是一个小调整)。在我看来,如果没有这么小的提交,历史会更清晰,我错了吗?
  • 不要害怕用新的提交来修复错误。它更加尊重。只需确保对您的主分支的拉取请求包含您要应用的所有更改
猜你喜欢
  • 1970-01-01
  • 2010-09-20
  • 1970-01-01
  • 1970-01-01
  • 2014-09-22
  • 2016-07-20
  • 2012-01-03
相关资源
最近更新 更多