如何在本地删除以前的提交
how to remove a previous commit locally
现在,这是在本地设置,即我的电脑。
我做了一些改动并且对它很满意,所以我做了 git commit -m "message here"
然后我意识到 github 存储库中的其中一个文件包含我不需要的信息。
所以我去更改了该文件的信息。
但是当我运行 git status
时,我仍然可以看到我之前的提交 - 显然。
还没有运行新的提交。
如何确保在我运行新提交时该提交中的特定信息不会上传到 Github?
建议?
编辑
基本上我不想删除我之前的提交,因为这意味着要撤消其他一些工作。我只想删除提交保留的原始文本,从那以后我已经更改了。
换句话说,如何将此后修改过的文件添加到上一次提交中,以便覆盖它并可以在推送之前包含在该提交中?
如果需要进一步说明,请告诉我。谢谢。
您可以通过执行 git commit --ammend 来修改最新的提交。如果您添加了一些更改(git add ),这些更改将进入该提交,可能会覆盖那里的一些数据(即,如果您添加了一行然后删除了一行,则根本没有行)。您还将有机会编辑提交消息。
也可以使用 git rebase -i 任意更改历史记录(包括但不限于更改任何过去的提交、重新排序或将多个提交合并在一起)。
现在,这是在本地设置,即我的电脑。
我做了一些改动并且对它很满意,所以我做了 git commit -m "message here"
然后我意识到 github 存储库中的其中一个文件包含我不需要的信息。
所以我去更改了该文件的信息。
但是当我运行 git status
时,我仍然可以看到我之前的提交 - 显然。
还没有运行新的提交。
如何确保在我运行新提交时该提交中的特定信息不会上传到 Github?
建议?
编辑
基本上我不想删除我之前的提交,因为这意味着要撤消其他一些工作。我只想删除提交保留的原始文本,从那以后我已经更改了。
换句话说,如何将此后修改过的文件添加到上一次提交中,以便覆盖它并可以在推送之前包含在该提交中?
如果需要进一步说明,请告诉我。谢谢。
您可以通过执行 git commit --ammend 来修改最新的提交。如果您添加了一些更改(git add ),这些更改将进入该提交,可能会覆盖那里的一些数据(即,如果您添加了一行然后删除了一行,则根本没有行)。您还将有机会编辑提交消息。
也可以使用 git rebase -i 任意更改历史记录(包括但不限于更改任何过去的提交、重新排序或将多个提交合并在一起)。