我的.gitignore
文件无效,所以我按照question进行了操作。
现在我有一堆我需要提交的文件,以便继续。 我犯了一个错误并犯了错误,因为我无法找到摆脱这些的方法。
有什么方法可以恢复所有这些行动吗?我不能reset
因为我现在得到错误:
error: The following untracked working tree files would be overwritten by checkout
。
愚蠢的愚蠢错误,我可以为此找到解决方案。
答案 0 :(得分:45)
如果您只运行git rm -r --cached
,请尝试在您的回购根目录中执行git reset HEAD .
。
如果您在执行git commit -m "msg"
后执行了git rm -r --cached
,即您已提交更改,请执行git reset HEAD~1
至undo your last commit。
答案 1 :(得分:1)
如果从缓存中删除了文件,则运行git checkout HEAD path/to/file
将不起作用。
对我有用的是通过运行以下命令移至新分支:
git checkout -b newBranch
答案 2 :(得分:1)
如果只想还原特定文件,则可以执行
git restore --staged <file>
答案 3 :(得分:0)
Git基于文件缓存工作,所以如果你从缓存中删除了所有东西,你可以通过执行来反转整个过程。这将添加回被跟踪的文件并告诉自上次提交以来哪些文件已被修改。
> git add .
答案 4 :(得分:0)
如果您希望git使git“重新跟踪”您的文件,请通过 .gitignore 或
将其删除git rm --cached
您可以使用以下方法做到这一点:
git add -f <files>
之后,如果要从暂存区中删除文件,则可以使用:
git restore --staged <files>