我是git的新手,犯了个大错。其他相关的线索没有解决我的问题。这就是发生的事情,感觉“git rm”像linux rm命令一样工作。
一开始,我使用

git add dir_name1

在过去的几天里,我在那个目录中创建了更多的文件并重新命名了一些文件,我认为这需要在git中手动添加新文件,因为在那之后我提交了所有类型的更改,但是新文件没有保存在repo中。
今天在完成工作之后,我决定使用
git add dir_name1

我想会自动找到并添加新文件,但是当我看到一些临时文件(ubuntu中以“~”结尾的文件)也被添加了。
为了删除那些tmp文件,我认为“git rm”是“git add”的对应项,所以我可以执行“git rm dir_name1”,然后删除以~ manually结尾的所有文件,然后再次执行“git add dir_name1”,这样就可以了。
所以我所做的就是
git rm -r -f  dir_name1

天哪,整个目录都不见了,用“git reset”和其他一些技巧来还原这些新文件。
“git rm”是否像linux“rm”命令一样删除?有办法恢复那些文件吗?
SOSSSSS系统

最佳答案

我看到一些临时文件(ubuntu中以“~”结尾的文件)也被添加了
一个简单的*~可以避免
我可以执行“git rm dir_name1”,然后删除以~ manually结尾的所有文件
.gitignore(或git rm -r -f dir_name1)将从磁盘中删除文件夹及其内容,无论是否有rm -r -f dir_name1
您可能仍有以前添加(暂存)的文件的跟踪:

git fsck --cache --unreachable $(git for-each-ref --format="%(objectname)")

在“Undo git with uncommitted files in the staging area中阅读更多内容

08-27 21:07
查看更多