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