ほとんどのリポジトリを自分のSVNサーバーからホストされたリモートGitサーバーに変換したかったのです。リポジトリをよりスムーズに変換するために、いくつかのコマンドを見つけて自動シェルスクリプトに変換しました。
とにかく、それはすべて機能しましたがunexpected EOF
、gitリポジトリのクローンを作成しようとすると、ホストされているサーバーからエラーが発生します。一部の大きなリポジトリ(2〜10ギガ)はインポートに時間がかかりすぎます...
そこで、最大のフォルダとグラフィックソースファイルを削除してリポジトリのサイズを小さくするために、フォルダ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に対して新しいコミットを行いましたが、まったく進展がありませんでした...
master
エラーはすべて相互に関連していることに気付きましたが、(ローカル)クローンリポジトリにトランクがない理由や、他のリポジトリに1つのブランチしかないのに突然2つのブランチができた理由がわかりません...
* [new branch] origin/HEAD -> origin/HEAD
* [new branch] origin/master -> origin/master
多くの試みの長い話をするために、短く:
すべての履歴
git svn clone --no-metadata -A -stdLayout
を含む新しいフォルダ( )に移動しますprojectname
1b。廃止されたフォルダとファイル(リポジトリごとに定義)をすべて削除します
- 新しいリポジトリに
git init
移動します(名前を付けましょうprojectname-copy
)bare
を使用して作成したリポジトリにすべてをプッシュしますgit init --bare bare-repo
- ホストされているサーバーにアップロードしようとしましたが、エラーが発生するか、変更がありません
今私の質問は:リポジトリのサイズを(ローカルおよびリモートで)縮小し、それらを私のgit-serverにアップロードできるようにするソリューションはありますか?
PS:コマンドラインを書くことは私のお茶ではないことをご存知だと思いますので、私を撃たないでください:-)