3

我想将我的大部分存储库从我自己的 SVN 服务器转换到托管的远程 Git 服务器。我找到了几个命令并将它们变成了一个自动化的 shell 脚本,以便以更流畅的方式转换存储库。

无论如何,这一切都奏效了,但是现在unexpected EOF每当我尝试克隆 git 存储库以对其进行处理时,我都会从托管服务器中收到 -errors 。一些大型存储库(2 - 10 Gigs)需要很长时间才能导入......

因此,我尝试使用filter-branch删除文件夹来通过删除最大的文件夹和图形源文件来减少存储库的大小。这一切都在我的电脑上运行,但是当我想上传到 git-server 时(等待了很长时间),我看到目录和文件仍然存在!

我尝试使用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 做了一个新的提交,正如下面关于一个 topic 的回复所解释的那样,但是我没有任何进展......

我意识到这些错误都联系在一起,但我不明白为什么(本地)克隆存储库中没有主干,或者为什么当我在另一个存储库中只有一个master-branch 时突然有几个分支......

* [new branch]      origin/HEAD -> origin/HEAD
* [new branch]      origin/master -> origin/master

把许多尝试的长篇故事讲得更短:

  1. 我对具有所有历史记录git svn clone --no-metadata -A -stdLayout的新文件夹 ( ) 执行projectname

    1b。我删除了所有过时的文件夹和文件(每个存储库定义)

  2. git init进入一个新的存储库(让我们命名它projectname-copy
  3. 我将所有内容都推送到bare我使用创建的存储库中git init --bare bare-repo
  4. 我尝试上传到托管服务器,但收到错误或没有更改

现在我的问题是:是否有人有缩小存储库大小(本地和远程)并使其可以上传到我的 git-server 的解决方案?

PS:我想你会知道写命令行不是我的菜,所以请不要开枪:-)

4

1 回答 1

1

没关系,我自己修好了。

我做了一个本地克隆,做了 a git repack -A -d,然后是 agit gc --prune=now && git gc --prune=now --aggressive然后我做了一个裸仓库。

我必须检查分支是否正确,如果不正确,我就可以使用它们,git branch -m [branchname]然后我可以上传到我的主机。

以为我会和你们分享:-)

于 2012-08-28T10:06:11.247 回答