git安装后系统找不到指定的路径 又不小心把.git文件夹也删掉了,还能找回吗?

[更新]
·
·
分类:互联网
2404 阅读

git安装后系统找不到指定的路径

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

又不小心把.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 rm ... 语句去做。

windows下git中文乱码如何解决?

进入git安装目录,改一下配置就可以基本解决:
1、etcgitconfig: [gui] encodingutf-8 [i18n] commitencodinggbk [svn] pathnameencodinggbk 说明:打开Git环境中的中文支持。pathnameencoding设置了文件路径的中文支持。
2、: aliaslsls--show-control-chars--colorauto 说明:使得在GitBash中输入ls命令,可以正常显示中文文件名。
3、etcinputrc: setoutput-metaonsetconvert-metaoff 说明:使得在GitBash中可以正常输入中文,比如中文的commitlog。
4、etcprofile: exportLESSCHARSETiso8859#或者utf-8、gbk 说明:$gitlog命令不像其它vcs一样,n条log从头滚到底,它会恰当地停在第一页,按space键再往后翻页。这是通过将log送给less处理实现的。以上即是设置less的字符编码,使得$gitlog可以正常显示中文。其实,它的值不一定要设置为utf-8,比如latin1也可以……。还有个办法是$git–no-pagerlog,在选项里禁止分页,则无需设置上面的选项。