Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 源代码管理已创建存储库的额外文件(例如二进制文件)_Java_Git - Fatal编程技术网

Java 源代码管理已创建存储库的额外文件(例如二进制文件)

Java 源代码管理已创建存储库的额外文件(例如二进制文件),java,git,Java,Git,我很抱歉提前问了这个问题,这个问题可能看起来非常混乱 我不久前创建了一个存储库,刚刚重新格式化了我的计算机,所以我正在尝试找回我所有的文件。但是,当我创建这个存储库()时,我只对java项目的src文件夹中的文件进行了源代码控制(这是正确的方法吗?) 我想对整个java项目文件夹进行源代码控制(比如bin文件夹、我添加的额外图像文件夹等等)。这是一种很好的方法,还是应该只对src文件夹进行源代码控制 如果是这样,我如何才能继续添加这些额外的文件夹,并且仍然保留旧的提交历史记录?我可以通过创建一个

我很抱歉提前问了这个问题,这个问题可能看起来非常混乱

我不久前创建了一个存储库,刚刚重新格式化了我的计算机,所以我正在尝试找回我所有的文件。但是,当我创建这个存储库()时,我只对java项目的src文件夹中的文件进行了源代码控制(这是正确的方法吗?)

我想对整个java项目文件夹进行源代码控制(比如bin文件夹、我添加的额外图像文件夹等等)。这是一种很好的方法,还是应该只对src文件夹进行源代码控制

如果是这样,我如何才能继续添加这些额外的文件夹,并且仍然保留旧的提交历史记录?我可以通过创建一个新的存储库来做到这一点,但这样我就不会有任何旧的提交


谢谢

将所有需要版本控制的文本文件放到您的版本控制中。这通常包括
src
目录、配置文件、
pom.xml
文件(如果您使用的是Maven),等等

如果二进制文件很大和/或经常更改,那么将它们放入源代码管理不是一个好主意,而且绝对不要将生成的文件放入其中,如
目标
。原因是版本控制通过跟踪版本之间的差异来控制git版本文件,这对于二进制文件不起作用。它们会使您的历史变得杂乱无章,通常会导致巨大的存储库占用大量二进制文件的历史空间

不过,在版本控制中并没有关于二进制文件的严格规则。甚至有些人。如果您的二进制文件小且稳定(例如,web项目中的图像),只包含它们就可以了

如何处理二进制文件取决于它们是什么。对于
jar
包,有Nexus这样的存储库。unix软件包(如RPM)有存储库。如果它们是大文件,请将它们放在备份的专用位置

最后一个选择(我承认我也使用过一两次)是为二进制文件设置不同的存储库,这样就不会占用太多空间,但您可能(有点)滥用git作为备份工具

您还可以查看一些相关问题:


查看存储库后更新:

  • 通常我不会将IDE设置(
    .settings
    .project
    和Eclipse生成的
    .classpath
    )放到源代码管理中,因为它们经常更改。因为在您的案例中没有其他内容包含项目信息,所以我建议改用Maven
  • bin/README.md
    移动到根目录
  • 删除
    bin
    目录。它包含重复的图像和
    .class
    文件。它们是由IDE自动生成的,因此它们不包含新信息,也不会频繁更改

谢谢您的回复。我更新了我的git存储库-您建议我删除什么?链接在OP中。