2

rebase以前は、異なるブランチ間で機能を移植するために git を使用してrebase --ontocherry-pickました。しかし今、私はsvnで作業する必要があります。私は svn の組み込みコマンドを使いたくありませんmerge。これは、すべてのコミットを 1 つの "マージ コミット" に結合するためです。に r100 から r110 までの範囲のコミットがあるとします。今度はbranchA、この機能を に移植し、branchBこれらbranchCのコミットを同じコミット コメントで 1 つずつ再生します (その間の競合を解決します)。これを行うことができる自動ツールはありますか?

4

2 に答える 2

2

これを行うための自動化ツールは知りませんが、git rebase. 一時ディレクトリを作成し、それを使用git format-patchしてリベースする変更を抽出し、git amそれらをターゲット ルートに適用します。システムで入力locate git-rebaseすると、それを読み取ることができます。これはシェル スクリプトです。おそらく/usr/local/libexec/git-core/git-rebaseです。

これsvnに相当するものは、元のコミット情報を保存するためにsvn diffandを使用し、その後にand を続けます。svn logpatchsvn commit

于 2011-02-01T22:07:30.977 に答える
0

可能であれば、使用してgit-svnください。素晴らしいgit履歴は中央リポジトリにはありませんが、作業をより効率的に管理できます。

于 2011-02-01T21:57:37.343 に答える