如何在上次未推送的提交中添加新更改?

时间:2018-06-08 20:38:12

标签: git command-line

  • 我从在线资源库git pull origin master
  • 中提取了最新版本
  • 然后在代码库中进行了一些更改,并添加了git add .
  • 然后创建了新的提交git commit -m "bug x fixed"
  • 然后在代码库中进行了一些新的更改,我想将它们合并到最后一次提交(它还没有被推送到在线存储库)

我应该再添加一次吗?我应该删除最后一次提交并创建一个新提交吗?或者是什么?

2 个答案:

答案 0 :(得分:1)

您正在寻找的是:

git add your_changes
git commit --amend

amend选项将进行最后一次提交,并将其替换为新的提交以及之前的更改和新的暂存更改(新文件,重命名,删除...)。

它应该使用上一次提交的消息打开可配置编辑器,如果您愿意,可以通过更改它来替换它。

答案 1 :(得分:1)

另一种选择是保持多次提交,因为这是本地的。然后在最后,当您准备就绪时,您可以将所有本地提交“压缩”为一个提升到远程的提交。有几种方法可以做到这一点,但这里有一个很好的例子链接(可能是一种更灵活/简单的方法):see top answer here

这比“修改”之类的优点在于你可以在本地保存所有的提交和历史记录,这样如果出现问题或者做出较小的差异等等,你可以更好地改变回去......以及所有的麻烦回去并且以后修改的东西可以推迟到最后一次只有当你还好并且准备就绪时......好吧,我更喜欢那样:)