我听说过一些声称SVN比Git/Mercurial更好地处理二进制文件.这是真的,如果是这样,为什么呢?据我所知,没有版本控制系统(VCS)可以在相同二进制资源的两个版本之间区分和合并更改.
那么,并非所有VCS都不善于处理二进制文件吗?我不太了解特定VCS实现背后的技术细节,所以可能它们有一些优点和缺点.
我希望将Git作为我雇主(250人)公司的主要来源控制.在继续讨论之前,我想回答以下问题.
Git是否有任何特定的最大文件大小限制可以处理?如果是这样,它是什么?
Git推荐的最大存储库大小是多少?这有助于我确定我应该在存储库中设置的内务处理.
我试图找出一个在GitHub上生成构建的单命令进程.
我预计会做的是运行某种命令发布,比如说,make release脚本会构建发布工件,然后以某种方式将其上传到GitHub.
但是,我对如何在GitHub上实际获取发布工件感到很困惑.源代码很棒,但不是每个人都想做自己的构建.:-)
昨天我花了几个小时调试我的git repo的问题,git reset HEAD --hard因为导致问题的文件被忽略了.gitignore.有没有办法"刷新"或"清理"所有被忽略的文件的git仓库,以便只有git跟踪的文件存在?
我终于通过删除repo并再次从github克隆它来解决我的问题,但是在将来,我想立即删除所有可能存在问题的文件(那些被忽略的文件).
我在存储库上使用git进行源代码控制.最近它已经开始警告我在使用时枚举未跟踪文件需要多长时间git status:
$ git status
On branch my_branch
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: My_Project/my_source.c
It took 3.24 seconds to enumerate untracked files. 'status -uno'
may speed it up, but you have to be careful not to forget to add
new files yourself (see 'git help status').
no changes added to commit (use "git add" and/or "git …Run Code Online (Sandbox Code Playgroud) 我知道,在Maven的时候,不建议在VCS中存储库,但有时它是有意义的.
我的问题是如何最好地存储它们 - 压缩或未压缩?未压缩它们更大,但如果它们被更新的替换了几次,那么两个未压缩的.jar文件之间存储的差异可能比压缩文件的差异小得多.有人做过一些测试吗?
我在cygwin中执行git svn rebase时遇到此错误
Out of memory during "large" request for 268439552 bytes, total sbrk() is 140652544 bytes at /usr/lib/perl5/site_perl/Git.pm line 898, <GEN1> line 3.
Run Code Online (Sandbox Code Playgroud)
268439552是256MB.Cygwin的maxium内存大小设置为1024MB所以我猜它有一个不同的perl最大内存大小?
如何增加perl程序可以使用的最大内存大小?
更新:这是发生错误的地方(在Git.pm中):
while (1) {
my $bytesLeft = $size - $bytesRead;
last unless $bytesLeft;
my $bytesToRead = $bytesLeft < 1024 ? $bytesLeft : 1024;
my $read = read($in, $blob, $bytesToRead, $bytesRead); //line 898
unless (defined($read)) {
$self->_close_cat_blob();
throw Error::Simple("in pipe went bad");
}
$bytesRead += $read;
}
Run Code Online (Sandbox Code Playgroud)
我在第898行之前添加了一个打印来打印$ bytesToRead和$ bytesRead,$ bytesToRead的结果是1024,$ bytesRead的结果是134220800,所以它一次读取1024个字节,它已经读取了128MB.Perl的'read'函数必须是内存不足并试图请求加倍它的内存大小......有没有办法指定要请求多少内存?或者该实现依赖?
UPDATE2:在cygwin中测试内存分配时:这个C程序的输出是1536MB
int main() …Run Code Online (Sandbox Code Playgroud) 有谁知道有很多分支(2000+)的git仓库的影响是什么?由于拥有那么多分支,git pull或git fetch是否会变慢?如果存在差异,请提供基准.