git删除本地仓库文件 git如何恢复本地删除的文件夹?
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删除本地仓库某个文件
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。