在git clone之后立即修改Java类(视为二进制文件)

时间:2017-05-01 14:18:14

标签: java eclipse git github

我用git clone克隆了一个回购。

git status表示这一切都是最新的。

之后我用Eclipse打开文件夹,git status显示不同的东西:

$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   bin/game/ClassName.class
    modified:   bin/game/ClassName1.class
    deleted:    bin/game/ClassName2.class

no changes added to commit (use "git add" and/or "git commit -a")

和git diff:

$ git diff
diff --git a/bin/game/ClassName.class b/bin/game/ClassName.class
index a501110..d891d9b 100644
Binary files a/bin/game/ClassName.class and b/bin/game/ClassName.class differ
diff --git a/bin/game/ClassName1.class b/bin/game/ClassName1.class
index bde5ba2..a8d76fe 100644
Binary files a/bin/game/ClassName1.class and b/bin/game/ClassName1.class differ
diff --git a/bin/game/ClassName2.class b/bin/game/ClassName2.class
deleted file mode 100644
index 08bec4e..0000000
Binary files a/bin/game/ClassName2.class and /dev/null differ

为什么git将java类视为二进制文件? 有什么建议可以解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

Git通过检查文件内容中的一些内容来确定某个文件是否为二进制文件。

每次编译代码时,这些类型的文件都不应该在您的仓库中,因为它们是auto-generated

您可以安全地删除它们,并在.gitignore文件中添加和输入并指定.class个文件,这样您就无法再次提交它们。

答案 1 :(得分:-2)

您可以直接转到Github中的分支,打开更改为二进制文件并稍作更改后提交的文件。 它可以解决您的问题。