先週、svn リポジトリを git に変換しました。実行に約 4 日かかりました。当初の計画では、週末にスクリプトを実行し、月曜日に git に切り替える予定でしたが、リポジトリのサイズが原因で、これは不可能であることが判明しました。
現在、テスト実行をオンラインのままにして、最新の svn コミットを git に追加することを考えていますが、いくつか問題が発生しています。どちらもあまり経験がないので、見つけたコマンドはすべて SO と Google のおかげです。
git に変換された最後のコミットは 69488 だったので、69489 以降のすべてのコミットを取得する必要がありました。私が最初にしたことは (このスレッドに感謝します):
git svn clone -r69489 svn-repo
cd repo
git svn rebase
しかし今、私はかなり立ち往生しています。(私の頭の中では) 論理的な次のステップは、リモートの bitbucket リポジトリがどこにあるかを新しいローカル git リポジトリに伝え、2 つをマージすることのようです。
git remote add origin bitbucket-path
git pull origin master
git push origin master
しかし、これを行うと、自動的に解決できないマージ競合が発生します。これは、git が何をすべきかを知っている必要があるため、私には奇妙に思えます...何か不足しているのか、それとも大量のファイルを処理する必要があるのか競合を手動で削除するには?