我听说过一些声称SVN比Git/Mercurial更好地处理二进制文件.这是真的,如果是这样,为什么呢?据我所知,没有版本控制系统(VCS)可以在相同二进制资源的两个版本之间区分和合并更改.
那么,并非所有VCS都不善于处理二进制文件吗?我不太了解特定VCS实现背后的技术细节,所以可能它们有一些优点和缺点.
我知道,在Maven的时候,不建议在VCS中存储库,但有时它是有意义的.
我的问题是如何最好地存储它们 - 压缩或未压缩?未压缩它们更大,但如果它们被更新的替换了几次,那么两个未压缩的.jar文件之间存储的差异可能比压缩文件的差异小得多.有人做过一些测试吗?
我们最近从subversion转移到git,然后转到Github,用于几个开源项目.Github很不错,因为它提供了很多功能.我特别喜欢的一件事是能够下载标签zip或.tar.gz文件.
不幸的是,Github最近停止了下载.这应该不是问题,因为能够下载标签.然而,在过去我们没有把Makefile,configure脚本或任何其他Autoconf生成的文件到回购,因为他们得到很多的冲突,当人们合并.
处理这个问题的正确方法是什么?
bootstrap.sh文件,并告诉人们运行该文件?make dist并将其放入回购中?谢谢
我有几个项目可以构建可重用的库.所有这些项目都受源头控制.
当我在项目中使用这些库时,我只需链接到本地驱动器上的相同ONE版本.但是,您可以想象,当我提交时,这会导致问题,并且不同的开发人员尝试克隆存储库.
在源代码管理下使用组件时的最佳做法是什么?我应该在"主项目"源代码控制中包含"库项目"吗?这会引起问题吗?
注意:库需要很多编译器指令,因此几乎不可能只编译静态版本并链接到它.另外,我还在并行开发它们.
我正在GitHub上建立一个新的Java项目,我将把一些Apache Commons库作为依赖项.
确定我的项目需要那些jar文件的最佳实践是什么?我应该将依赖项上传到我的GitHub存储库(丑陋)吗?或者使用类似Maven的工具?
或者有没有办法链接另一个git存储库中的文件?Apache为它们的库提供了git存储库.它们是只读的,但我很好,因为我只想使用罐子.坏的是它们包含所有的来源,我只关心编译的jar.看来我们不能git submodule只是一个档案.
我主要使用嵌入式应用程序(FPGA和微控制器),而且我对git和版本控制一般都很新.我已经开始学习它的强大功能,并希望为同事和朋友设置一些与我合作的项目.这些项目通常在集成开发环境(IDE)中开发,例如MPLAB-X,Code Composer Studio,Libero或Quartus,它们生成二进制文件,提供后台窃听和其他功能.我在一个存储库中设置项目时遇到了一些麻烦,其他人可以克隆它并开始处理它.我发现大多数推荐的.gitignore设置让你忽略主项目文件以及所有额外的二进制文件和双产品,如.tcl脚本和文本报告.通过忽略这些,我发现我正在删除协作者使用相同配置设置开发环境所需的所有信息.但是,如果我在存储库中跟踪它们,那么我的存储库会因为不重要的额外文件(通常是大文件)而陷入困境.这个问题有更好的解决方案吗?
我最近遇到了管理项目及其可交付成果的方法.项目团队正在使用git存储库进行开发.还有另一个存储库用于部署工件.我可以通过这种方法看到几个好处.
您认为这种方法的好处和缺点是什么?