Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未添加文件的git rm undo_Git - Fatal编程技术网

未添加文件的git rm undo

未添加文件的git rm undo,git,Git,我是git的新手,犯了一个大错误。其他相关线程没有解决我的问题。下面是发生的情况,感觉“git-rm”的工作方式类似于linux-rm命令 开始时,我使用 git add dir_name1 在过去的几天里,我在那个目录中又创建了几个文件,并重命名了几个,我认为这需要在git中手动添加新文件,因为在那之后我提交了所有类型的更改,但新文件没有保存在repo中 今天完成工作后,我决定使用 git add dir_name1 我想新文件会自动被发现并添加,但是当我看到一些临时文件(在ubuntu中

我是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”,然后手动删除所有以~结尾的文件,然后再次执行“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%的工作,有趣的是,我以一种完全相反的方式使用了一个系统,而这恰恰是为了保护代码:)