Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.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-Remove';删除文件夹中的文件?_Git_Gitlab - Fatal编程技术网

如何';Git-Remove';删除文件夹中的文件?

如何';Git-Remove';删除文件夹中的文件?,git,gitlab,Git,Gitlab,我正在使用git removegit rm。我犯了一个简单/愚蠢的错误,在使用git-rm之前,我手动删除了一个包含所有文件的文件夹 现在我有超过15个文件,我想从我的回购中删除,但不想打印出来 有办法做到这一点吗 git status deleted: Literature/abc.md deleted: Literature/acdf.pdf deleted: Literature/dsfsdf.pdf deleted: Literature/dfgdfs.pdf

我正在使用git remove
git rm
。我犯了一个简单/愚蠢的错误,在使用
git-rm
之前,我手动删除了一个包含所有文件的文件夹

现在我有超过15个文件,我想从我的回购中删除,但不想打印出来

有办法做到这一点吗

git status

deleted:    Literature/abc.md
deleted:    Literature/acdf.pdf
deleted:    Literature/dsfsdf.pdf
deleted:    Literature/dfgdfs.pdf
deleted:    Literature/sgadfgaa.md
deleted:    Literature/sdsds.pdf
deleted:    Literature/sddvasds.rmd
deleted:    Literature/ddsds.md
deleted:    Literature/fsdfsdsd.png

是的,它们已从您的工作树中删除,但这些文件保存在上次修订*中,因此您只需将这些文件恢复为上次提交时的状态:

git checkout -- full/path/to/Literature/
然后
rm
按照您最初的意图进行操作


*(除非这些是新添加的文件,但您没有这样说)

您可以使用该命令

git rm -r --cached 

有关更多详细信息,请访问链接,如果当前没有其他更改,并且您确定需要恢复到上次提交的状态

您可以使用,
git reset--hard
将头部移动到最后提交的哈希,并在提交后丢弃所有本地更改


或者,更安全的方法是先执行
git重置{path to your deleted folder}
,使文件在下次提交时不被保存,然后执行
git签出--{path to your deleted folder}
,正如@romavaileri

所建议的那样,我执行了
git签出{number}
,但现在我有了一个分离的头。@oaxacamatt,只需使用
git checkout
再次签出您的分支即可。但我不明白你为什么打那个。是故意的吗?我的代码中的
--
不是数字的占位符,只是告诉git“之后的任何内容都不是参数,而是文件路径”的一种方式。您能准确地共享您键入的内容吗?