获取的git提交中有大量意外数据

时间:2013-08-21 05:05:11

标签: git github

不确定如何标题这个问题,因为我不是100%确定问题是什么。我假设在将最新更改下载到我们的存储库时,文件已损坏。

我们的一个源文件看起来像这样:

਍⼀⼀⼀ 㰀⼀猀甀洀洀愀爀礀㸀ഀഀ
਍嬀䌀甀猀琀漀洀䔀搀椀琀漀爀⠀琀礀瀀攀漀昀⠀唀䤀圀椀搀最攀琀⤀⤀崀ഀഀ
public class UIWidgetInspector : Editor
਍笀ഀഀ
    enum Action
਍ऀ笀ഀഀ
        None,
਍ऀऀ䴀漀瘀攀Ⰰഀഀ
    Scale,
਍ऀऀ刀漀琀愀琀攀Ⰰഀഀ
    }
਍ഀഀ

我不知道为什么会发生这种情况,但是当我看到GitHub上的文件看起来很好,而另一个程序员没有遇到这个问题。我假设当我拿到远程分支时有一些腐败。

我的第一直觉是删除并重新下载我的所有远程分支,但我不知道如何执行此操作。

我试过了:

git branch -rd origin/master

然后重新获取,但实际上没有下载任何数据(可能是因为提交仍然存在于本地)。

基本上我不知道发生了什么,再也没有克隆回购(我宁愿不做),我完全迷失了。

2 个答案:

答案 0 :(得分:1)

最直接的做法是在新位置制作新克隆:

git clone <repo url> new-directory-name

然后验证新克隆中的问题是否已消失。如果一切正常,并且您不需要现有存储库中的任何内容,只需将其丢弃并使用新副本即可。如果您确实需要从旧存储库中处理的内容,则必须在这两者之间进行一些复制。

关键是存储库没什么特别之处。您可以根据需要拥有尽可能多的副本。

当然,有可能存在编码问题;但这是我要检查的第一件事。

答案 1 :(得分:0)

文件是用ASCII或UTF-8以外的其他方式编码的吗?如果没有,那么Git可能认为它是二进制的并且如果你打开了行结束规范化就会破坏它。

众所周知,Git不喜欢UTF-16编码之类的东西。例如,请参阅How to stop git from breaking encoding on checkout