Git リポジトリと SVN リポジトリがあり、どちらも同じソース コードを保持していますが、コミット履歴が異なります。Git リポジトリには、よくコメントされた小さな投稿がたくさんあります... 一方、SVN リポジトリには、「たくさんのもの」のようなコメントが付いたいくつかの大きなコミットがあります。両方の一連のコミットは、コードで行われた同じ変更に従い、ほぼ同等です。
現在の Git リポジトリから詳細な履歴を失うことなく
、
Git-SVN の使用に切り替えたいと考えています。これは、Git リポジトリの履歴をプロジェクトの SVN ブランチ (実際に Git を使い始めた時点から分岐) に「移植」することによって行う必要があります。
どうしてそうするか?(履歴)
少し前に Git で遊び始めました。SVN の管理下にあったプロジェクトに Git リポジトリを設定することから始めました。ちょっとした設定で、Git と SVN の両方を同じソース コードで並行して動作させることができました。
これは、SVN のセーフティ ネットを利用しながら、Git を学び、操作するための優れた方法でした。それは基本的に実際のデータを持つサンドボックスでした。Git を実際に学ぶ時間はありませんでしたが、Git をいじりたいと思っていました。実際、これは私にとって Git を学ぶのにとても良い方法でした。
最初に、いくつかの編集を行った後、SVN にコミットし、次に Git にコミットし、変更が安全に SVN にあることを確認して Git を操作しました。すぐに、私は SVN よりも Git に頻繁にコミットするようになりました... 今では、SVN コミットは、私が時々やらなければならない厄介な雑用に陥っています。
と の違いを学んだときgit revert
、svn revert
私はSVN リポジトリにチェックインしていたことをとてもうれしく思いました。2つが同じように機能すると仮定すると、数週間の作業をほとんど失いました。
私は今、Git-SVN の栄光を知っており、他のいくつかのプロジェクトで喜んで使用しています。私が始めたとき、Git リポジトリを失い、新しいものを「適切に」使用してセットアップする必要があるかもしれないことを完全に理解しましたgit-svn init
...しかし、Git をしばらく使ってみたので、Git の履歴をハッキングする方法があると確信していますSVNに。