2016 - 2024

感恩一路有你

git删除本地仓库文件 git如何恢复本地删除的文件夹?

浏览量:2879 时间:2021-03-14 16:49:32 作者:admin

git如何恢复本地删除的文件夹?

git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态git stash #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。git reset --hard HASH #返回到某个节点,不保留修改。git reset --soft HASH #返回到某个节点。保留修改

如何在git中删除指定的文件和目录?

拉取远程的Repo到本地(如果已经在本地,可以略过)

$ git clone xxxxxx

在本地仓库删除文件

$ git rm 我的文件

在本地仓库删除文件夹

$ git rm -r 我的文件夹/

此处-r表示递归所有子目录,如果你要删除的,是空的文件夹,此处可以不用带上-r。

提交代码

$ git commit -m"我的修改"

推送到远程仓库(比如GitHub)

$ git push origin xxxxxx

又不小心把.git文件夹也删掉了,还能找回吗?

如果只有本地一份repo,复制为新文件夹,删除.git后重新init,这个比较easy。话说你反正没公开,历史丢掉也不是很有所谓。

如果有多人协作和远程bare repo,那么这种事最好不要干了。

一定要删历史记录的话,filter-branch也行,不过我也只有笨的办法:git status罗列下已删除的文件列表,全部填到 filter-branch 命令行的 rm 部分里面就是。期待有人答一份。当然聪明的办法的思路是有的:借助bash编程把已删除文件名自动罗列到命令行里。不过暂时没条件就答不出了。

附:

可以罗列出已删除的文件,这些就是你想要清理掉的。

方法可以是这样:

初步确认。不过备份好点。

再补充下:

filter-branch里面使用 git rm --ignore-unmatch 可以避免过多警告。

--prune-empty可以在一个提交的所有文件都被清空之后摘除这个提交。

同样的,git rm a b c d/e/f/g 可以删掉这些不同位置的文件,git rm -rf a b c d可以文件、文件夹都删掉。

所以无论你的问题是什么,只有一件事要做,提供一个文件名列表出来,送给git filter-branch ..."git rm ..." 语句去做。

git删除本地仓库文件 git删除本地commit的文件 git删除本地仓库某个文件

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。