如何从最新提交中删除文件?
当前回答
我们可以采取的另一种方法是:
删除文件使用删除的文件进行新提交执行交互式重基并压缩两个提交推
其他回答
从git 2.23开始,您可以简单地使用以下命令:
git restore --staged <file>
git reset--soft HEAD ^返回您的提交,当您键入git status时,它会告诉您要做什么:
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
如果你不再需要那个文件,你可以
git rm file
git commit --amend
git push origin branch
一些对我有用的东西,但仍然认为应该有更好的解决方案:
$ git revert <commit_id>
$ git reset HEAD~1 --hard
只需将要放弃的更改保留在另一个提交中,检查其他人
$ git commit --amend // or stash and rebase to <commit_id> to amend changes
如果您想保留提交(可能您已经花了一些时间编写了详细的提交消息,不想丢失它),并且您只想从提交中删除文件,而不是完全从存储库中删除文件:
git checkout origin/<remote-branch> <filename>
git commit --amend
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式
- git pull -rebase和git pull -ff-only之间的区别