未添加文件的git rm undo
我是git的新手,犯了一个大错误。其他相关线程没有解决我的问题。下面是发生的情况,感觉“git-rm”的工作方式类似于linux-rm命令 开始时,我使用未添加文件的git rm undo,git,Git,我是git的新手,犯了一个大错误。其他相关线程没有解决我的问题。下面是发生的情况,感觉“git-rm”的工作方式类似于linux-rm命令 开始时,我使用 git add dir_name1 在过去的几天里,我在那个目录中又创建了几个文件,并重命名了几个,我认为这需要在git中手动添加新文件,因为在那之后我提交了所有类型的更改,但新文件没有保存在repo中 今天完成工作后,我决定使用 git add dir_name1 我想新文件会自动被发现并添加,但是当我看到一些临时文件(在ubuntu中
git add dir_name1
在过去的几天里,我在那个目录中又创建了几个文件,并重命名了几个,我认为这需要在git中手动添加新文件,因为在那之后我提交了所有类型的更改,但新文件没有保存在repo中
今天完成工作后,我决定使用
git add dir_name1
我想新文件会自动被发现并添加,但是当我看到一些临时文件(在ubuntu中以“~”结尾的文件)也被添加了
为了删除那些tmp文件,我认为“git rm”是“git add”的对应项,所以我可以执行“git rm dir_name1”,然后手动删除所有以~结尾的文件,然后再次执行“git add dir_name1”,这样就可以了
所以我所做的是
git rm -r -f dir_name1
我的天,整个目录都不见了,用“git reset”和其他一些技巧来恢复这些新文件
“gitrm”是否像linux“rm”命令一样删除?有没有办法恢复这些文件
SOSSS
我看到还添加了一些临时文件(ubuntu中以“~”结尾的文件)
在.gitignore
中使用一个简单的*~
就可以防止这种情况发生
我可以执行“git rm dir_name1”,然后手动删除以~结尾的所有文件
git rm-r-f dir_name1
(或rm-r-f dir_name1
)将从磁盘中删除文件夹及其内容,无论是否使用git
您可能仍然有以前添加(暂存)的文件的跟踪,其中包含:
git fsck --cache --unreachable $(git for-each-ref --format="%(objectname)")
阅读“中的更多内容正确的方法是添加整个目录,然后删除讨厌的Linux系统文件:
git add dir_name1
git rm -r '*.~'
如果要使Git忽略~
文件,则可以执行以下操作:
echo '*.~' >> .gitignore
遗憾的是,如果您从未提交过
dir_name1
目录,它可能会丢失在空间中。感谢您的通知,它将返回所有“无法访问的blob 1685d57d4b460b43de38634b6d5932a0cecf5ad”lines@AbhishekK是的,我会告诉你怎么做。通过你的投入,我可以恢复90%的工作,有趣的是,我以一种完全相反的方式使用了一个系统,而这恰恰是为了保护代码:)