带有 GIT 乱码的 vc 文件



在什么情况下,由 GIT 控制的文件版本会变得乱码? 这是我的问题,但这是上下文:我正在学习 git 并一直在使用本地存储库,今天看起来有几个文件已损坏(或其他什么(。所有文本如下所示:‘Œ…fÅ�ÅˇÅ�õˇÅ�≤ÍÈ(例如(。自添加以来,这些文件在所有 git 快照中都是乱码。更复杂的是,存储库存储在Dropbox中,并且还用于存储开发Web服务器(MAMP(的Web文件。 知道发生了什么吗?我在网上没有找到任何有用的东西。

更新:现在看起来有些文件已经消失了;例如,我收到以下消息打开一个:The alias “test.php” can’t be opened because the original item can’t be found.

更新 2:我一直在考虑这个问题,我认为我忽略了一个与一般问题相关的细节:我将 .git dir 向上移动了一个目录,即在此路径中,Dropbox/Project/gitRepo/,.git dir 从 gitRepo 移动到项目。 它提交没有问题,但随后在该事件和其他一些 git 操作之间发生了损坏。

你不能这样移动 .git 目录,这势必会混淆 git,因为你如果已经提交了一个 foo.php 文件,它现在已经变成了 gitRepo/foo.php。

现在,如果你把.git目录放回它所属的位置,你可以像这样进行你想要的转换(我很确定我在这里使用了特定于bash shell的功能(:

Dropbox/Project/gitRepo$ mkdir gitRepo
Dropbox/Project/gitRepo$ git mv !(gitRepo) gitRepo
Dropbox/Project/gitRepo$ git ci -m "Move everything in subdir"
Dropbox/Project/gitRepo$ cd ../..
Dropbox$ mv Project/gitRepo Project2
Dropbox$ cp -r Project/* Project2/
Dropbox$ cd Project2
Dropbox/Project2$ git add .
Dropbox/Project2$ git ci -m "Import upper directory"

最新更新