0

こんばんは

私はgit、svn、およびgit-svnを使用しています。

トピックブランチをマージするためにSubversionを使用しています。

ときどき、後で git svn fetch を実行すると、2 番目の親のマージ情報が git に失われることに気付きます。そのため、git 履歴では、マージは、への参照を保持するマージ コミットではなく、単一の大きなコミットのように見えます。二番目の親。これは常に発生するわけではありませんが、発生する正確な状況を特定することはできませんでした.

なぜこれが起こるのか、それを防ぐためにどのような手順を実行できるのかを誰か説明できますか?

4

1 に答える 1

0

このドキュメントは、svn と git の統合に関するいくつかの問題を説明しており、役立つ場合があります。具体的には:

Git ワークフローに慣れてきたら、トピック ブランチを作成し、それらで作業を行ってからマージすることになるでしょう。git svn 経由で Subversion サーバーにプッシュしている場合は、作業をリベースすることをお勧めします。ブランチをマージするのではなく、毎回単一のブランチにします。リベースを好む理由は、Subversion には線形の履歴があり、Git のようにマージを処理しないためです。そのため、git svn はスナップショットを Subversion コミットに変換するときに最初の親のみに従います。

于 2012-11-27T22:31:03.703 に答える