我用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类视为二进制文件? 有什么建议可以解决这个问题吗?
答案 0 :(得分:0)
Git通过检查文件内容中的一些内容来确定某个文件是否为二进制文件。
每次编译代码时,这些类型的文件都不应该在您的仓库中,因为它们是auto-generated
。
您可以安全地删除它们,并在.gitignore
文件中添加和输入并指定.class
个文件,这样您就无法再次提交它们。
答案 1 :(得分:-2)
您可以直接转到Github中的分支,打开更改为二进制文件并稍作更改后提交的文件。 它可以解决您的问题。