あるブランチから別のブランチにコミットをコピーするにはどうすればいいですか? 質問する

あるブランチから別のブランチにコミットをコピーするにはどうすればいいですか? 質問する

マスターから 2 つのブランチを取得しました。

  • v2.1 : (バージョン2) 数か月間取り組んできました
  • wss : 昨日、マスター(本番環境)に特定の機能を追加するために作成しました

昨日のコミットを wss から v2.1 にコピーする方法はありますか?

ベストアンサー1

使用

git cherry-pick <commit>

現在のブランチ<commit>適用します

私自身は、選択したコミットをクロスチェックしgitk、代わりにコミット エントリを右クリックしてそれらをチェリー ピックすると思います。


もっと自動化したい場合(危険は伴いますが)、昨日以降のすべてのコミットがwssで行われたと仮定すると、git log--prettyJefromiの提案に従って)コミットのリストを生成できます。

git log --reverse --since=yesterday --pretty=%H

すべてを合わせて、bash

for commit in $(git log --reverse --since=yesterday --pretty=%H);
do
    git cherry-pick $commit
done

ここで何か問題が発生した場合 (可能性は大いにあります)、これはライブ チェックアウトで機能するため、問題が発生します。そのため、手動でチェリー ピックを実行するか、Jefromi が提案したようにリベースを使用してください。

おすすめ記事