3

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

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

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

4

1 回答 1

1

你不能这样移动 .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"
于 2013-02-12T17:31:29.450 回答