現在svnで追跡されているWebサイトプロジェクトに取り組んでいますが、他の誰かが新しいサーバーなどをセットアップする時間があれば、gitに移動します。長い話になりますが、それまでの間、私が持っていたコードから独自の git リポジトリを作成し、かなりの作業を行いました。私は海外にいて、インターネット接続が奇妙でHTTPのプロキシが必要で、git svnが通過できないように見えるため、git svn cloneを使用しませんでした。いずれにせよ、私は自分の git リポジトリで開発を行ってきましたが、最終的にプロジェクトが実際に適切にインポートされたら、自分の作業を git-svn のクローンにリベースする必要があります。git rebase
これは適切に機能しますか?
問題の 1 つは、私が実際に仮想マシンで作業していて、多くのコミットで、user.name と user.email の構成エントリを設定していなかったことを認識していなかったため、コミットが vm のローカル ユーザーからのものであったことです。奇妙なの。すべての変更を diff ファイルにまとめて、作成された新しいブランチの上に適用する方がよいでしょうか?
もう 1 つの問題は、以前の SVN の使用が中途半端だったことです。そのため、実稼働サーバーには、私が持っていなかったコミットされていない変更が実際にありました。実際には、SVN ヘッドでさえないコードの古いリビジョンを最初に持っていたので、その上にいくつかのものが欠けていました。続行する最良の方法は何ですか?
最後の質問の 1 つは、SVN リポジトリを経由してインポートした場合git svn
(チェックしたところ、現在は機能しているようです)、作成者ファイルを追加しない場合、後で適切にインポートされたブランチに変更をリベースできるかどうかです。著者ファイルで?
ああ、新しい合併症。私は を使用して SVN リポジトリを自分でインポートしましたgit svn
。これは、この遅い接続で 2 日間の大半を費やした大変なプロセスでした。しかし、最終的にクローンを作成した後、SVN リポジトリではコードがすべてサブディレクトリにあることに気付きましたが、私の git リポジトリではリポジトリのルートがディレクトリのルートでもありました。これが少し混乱している場合、基本的にはこのようなものです
SVN:
\dir\codez
ギット:
\codez
2 つのリポジトリを結合するにはどうすればよいですか? リベースを引き続き使用できることを願っていますが、これは非常に奇妙な状況のようです。サブモジュールに似ているように聞こえますが、それは私が必要としているものではないと思います。