如何从最新提交中删除文件?


当前回答

你可以简单地尝试一下。

git reset --soft HEAD~1

并创建新的提交。

然而,有一个很棒的软件“gitkraken”。这使得使用git很容易。

其他回答

如果你不再需要那个文件,你可以

git rm file
git commit --amend
git push origin branch

注意!如果您只想从上一次提交中删除一个文件,并将其保存在磁盘上,请阅读上面juzzlin的回答。

如果这是您最后一次提交,并且您希望从本地和远程存储库中完全删除该文件,您可以:

删除文件git-rm<file>带有修正标志的commit:gitcommit--修正

修正标志告诉git再次提交,但“合并”(不是合并两个分支的意思)这次提交与最后一次提交。

如注释中所述,在这里使用gitrm就像使用rm命令本身一样!

一些对我有用的东西,但仍然认为应该有更好的解决方案:

$ git revert <commit_id>
$ git reset HEAD~1 --hard

只需将要放弃的更改保留在另一个提交中,检查其他人

$ git commit --amend // or stash and rebase to <commit_id> to amend changes

最好的方法是使用SourceTree(也可以根据需要从命令行执行),并且:

检查新分支机构(出于安全原因)然后在要更改的提交之前使用gitreset-soft进行提交它将允许您删除(暂存/取消暂存)不需要的文件:)

git reset--soft HEAD ^返回您的提交,当您键入git status时,它会告诉您要做什么:

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)