我想将我的大多数存储库从我自己的SVN服务器转换为托管的远程Git服务器。我找到了couple of commands并将它们转换为自动shell脚本,以便以更平滑的方式转换存储库。
无论如何,这一切都有效,但现在我得到unexpected EOF
- 来自托管服务器的错误,每当我试图克隆git存储库来处理它时。一些大型存储库(2 - 10 Gigs)需要很长时间才能导入......
所以我尝试将filter-branch
用于removing folders,以便通过删除最大的文件夹和图形源文件来减少存储库的大小。这一切都在我的计算机上工作,但是当我想上传到git-server时(在等待之后),我看到目录和文件仍在那里!
我已经尝试使用git repack
来确保包也更小并将存储库克隆到新文件夹中,并且它适用于我的问题的缩小部分,但是当我继续使用{{ 1}}我收到的错误如下:
git branch -m trunk master
我在the following reply on a topic上解释了错误#3的新提交,但我没有任何进展......
我意识到错误都是连在一起的,但是我不明白为什么在(本地)克隆的存储库中没有主干,或者为什么当我只有一个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}'
时我突然有了几个分支 - 分支在另一个回购...
master
要想做很多尝试的长篇故事,请更短:
我为一个包含所有历史记录的新文件夹(
* [new branch] origin/HEAD -> origin/HEAD * [new branch] origin/master -> origin/master
)git svn clone --no-metadata -A -stdLayout
1b中。我删除了所有过时的文件夹和文件(按存储库定义)
- 我
projectname
进入新的存储库(我们将其命名为git init
)- 我将所有内容都推送到我使用
创建的projectname-copy
bare
存储库中- 我尝试上传到托管服务器,但收到错误或没有更改
醇>
现在我的问题是:有没有人有缩小存储库大小(本地和远程)的解决方案,并且可以将它们上传到我的git-server?
PS:我想你会知道写作命令行不是我的一杯茶,所以请不要拍我: - )答案 0 :(得分:1)
没关系,我自己解决了。
我做了一个本地克隆,做了一个git repack -A -d
,接着是一个git gc --prune=now && git gc --prune=now --aggressive
,然后我做了一个简单的回购。
我必须检查分支是否正确,如果不是我用git branch -m [branchname]
制作它们然后我可以上传到我的主机。
以为我会和你们分享:-)