我的 .gitignore
文件没有起作用,所以我按照这个问题的建议进行操作。
现在我有一堆需要提交的文件,为了继续操作。我犯了一个错误,把这些文件提交了,因为我找不到摆脱它们的方法。
有没有办法撤销所有这些操作?我不能执行 reset
,因为我会得到错误提示:error: The following untracked working tree files would be overwritten by checkout
。
愚蠢的错误,我找不到解决方法。
我的 .gitignore
文件没有起作用,所以我按照这个问题的建议进行操作。
现在我有一堆需要提交的文件,为了继续操作。我犯了一个错误,把这些文件提交了,因为我找不到摆脱它们的方法。
有没有办法撤销所有这些操作?我不能执行 reset
,因为我会得到错误提示:error: The following untracked working tree files would be overwritten by checkout
。
愚蠢的错误,我找不到解决方法。
git rm -r --cached
命令,请尝试在你的repo根目录下执行git reset HEAD .
命令。git rm -r --cached
命令后执行了git commit -m "msg"
,也就是说你已经提交了更改,请执行git reset HEAD~1
命令来撤销你最后一次提交。Git基于文件缓存工作,因此如果您从缓存中删除了所有内容,则只需执行以下操作即可完全反转该过程。这将重新添加正在被跟踪的文件,并告诉哪些文件自上次提交以来已被修改。
> git add .
.gitignore
文件中,所以我添加了它并执行了 git rm -r --cached .
命令。我运行了 git status
,发现它删除了其他文件和我的 prop
文件。但是之后我执行了 git add .
命令,只是为 prop
文件暂存了删除操作。 - Arpan Banerjeegit add
,我收到了信息 提示:如果你真的想添加它们,请使用 -f。
我这样做了,结果有效。 - Timogit rm --cached
你可以通过以下方式实现:
git add -f <files>
然后,如果你想要从暂存区中移除文件,可以使用以下命令:
git restore --staged <files>
git restore --staged <file>
。如果文件已从缓存中删除,则运行git checkout HEAD path/to/file
将无法起作用。
对我来说有效的方法是通过运行以下命令移动到新分支:
git checkout -b newBranch