複数のコミットをローカル Git リポジトリからリモート SVN リポジトリにプッシュし、それらを 1 つのコミットにマージしない方法があるかどうかを知りたいですか?
私は SmartGit を使用しており、ローカルの GIT ブランチに 5 つのコミットがあるとしましょう。このブランチはリモート SVN /trunk を参照しています。これらのコミットを SVN にプッシュすると、SVN で大きなコミットが 1 つ得られます。
助けてくれてありがとう
追加のコメントから、問題はマージにあるようです。git merge
ドキュメント、特に「早送りマージ」のセクションを読むことをお勧めします。クライアントが「no-ff」マージを行っているようです。これは、ブランチ X のコミットをメイン ブランチの単一のマージ コミットに結合します。SVN にプッシュすると、プッシュされるのはその単一のマージ コミットです。
あなたが望むのは早送りマージです。コマンドラインから を使用して、これを確実に取得できますgit merge --ff-only
。私は SmartGit に精通していませんが、ドキュメントからは、マージを要求するときにこのオプションが提供されるようです: http://www.syntevo.com/smartgithg/documentation.html?page=commands-branch#merge