2

複数のコミットをローカル Git リポジトリからリモート SVN リポジトリにプッシュし、それらを 1 つのコミットにマージしない方法があるかどうかを知りたいですか?

私は SmartGit を使用しており、ローカルの GIT ブランチに 5 つのコミットがあるとしましょう。このブランチはリモート SVN /trunk を参照しています。これらのコミットを SVN にプッシュすると、SVN で大きなコミットが 1 つ得られます。

助けてくれてありがとう

4

1 に答える 1

1

追加のコメントから、問題はマージにあるようです。git mergeドキュメント、特に「早送りマージ」のセクションを読むことをお勧めします。クライアントが「no-ff」マージを行っているようです。これは、ブランチ X のコミットをメイン ブランチの単一のマージ コミットに結合します。SVN にプッシュすると、プッシュされるのはその単一のマージ コミットです。

あなたが望むのは早送りマージです。コマンドラインから を使用して、これを確実に取得できますgit merge --ff-only。私は SmartGit に精通していませんが、ドキュメントからは、マージを要求するときにこのオプションが提供されるようです: http://www.syntevo.com/smartgithg/documentation.html?page=commands-branch#merge

于 2013-05-30T21:43:48.263 に答える