我想把我的大部分存储库从我自己的SVN服务器转换到托管的远程Git服务器上。我找到了一个两条命令,并将它们转换成一个自动化的shell脚本,以便以更顺畅的方式转换存储库。
总之,所有这些都是有效的,但是现在每当我试图克隆git存储库来运行它时,我就会从托管服务器上获得unexpected EOF-errors。一些大型存储库(2-10次)的导入时间太长.
因此,为了减少存储库的大小,我尝试将filter-branch用于移除文件夹,方法是删除最大的文件夹和图形源文件。这一切都在我的电脑上工作,但当我想上传到git-服务器(经过一段时间的等待),我看到目录和文件仍然在那里!
我尝试使用git repack来确保包也更小,并将存储库克隆到一个新文件夹中,并且它可以解决问题的缩小部分,但是当我继续使用git branch -m trunk master时,我收到了如下错误:
1: error: refname refs/heads/trunk not found
2: fatal: Branch rename failed
3: error: src refspec master does not match any.
4: error: failed to push some refs to 'ssh://git@bitbucket.org/{username}/{projectname}'我犯了一个新的错误#3,就像在关于某一主题的下列答复上解释的那样,但是我没有任何进展--任何时候.
我意识到这些错误都是连接在一起的,但我不明白为什么(本地)克隆存储库中没有主干,或者当我在另一个repos中只有一个master-branch时,为什么突然有两个分支.
* [new branch] origin/HEAD -> origin/HEAD
* [new branch] origin/master -> origin/master为了长话短说,很多尝试,更短:
projectname)执行projectname操作
1b。删除所有过时的文件夹和文件(每个存储库定义)git init放入一个新的存储库(让我们将其命名为projectname-copy)git init --bare bare-repo创建的git init --bare bare-repo存储库中。现在我的问题是:有谁有办法缩小存储库的大小(本地的和远程的)并将它们上传到我的git服务器?
PS:我想你会知道写命令行不是我喜欢的事,所以请不要开枪打我:-)
发布于 2012-08-28 10:06:11
没关系,我自己修的。
我做了一个本地克隆,做了一个git repack -A -d,然后做了一个git gc --prune=now && git gc --prune=now --aggressive,然后做了一个裸露的回购。
我必须检查这些分支是否正确,如果不是我用git branch -m [branchname]制作的,然后我可以上传到我的主机。
我想和你们分享一下,:-)
https://stackoverflow.com/questions/12052979
复制相似问题