1. ホーム
  2. git

[解決済み] git - 別ブランチのコミットを作業コピーに適用する

2022-05-31 21:57:53

質問

というわけで、私は有用なコードの変更があるコミットを持っていますが、別のブランチにあります。

私は別のブランチにあるこのコミットを、現在のブランチにある私の作業コピーに適用したいと思います(別のコミットとしてではなく)。

これは可能ですか?どのようにすればよいのでしょうか。

これは私の前の質問に関連していますが、作業コピーに特有のものであることを共有しようと思いました。 git チェリーピックで一つのコミットを別のブランチに移動する

どのように解決するのですか?

希望するコミットを別のブランチに追加する方法。

git cherry-pick <SHA-1>...<SHA-1> --no-commit

<ブロッククオート

masterブランチの先端にあるコミット(複数可)で導入された変更を適用し、この変更を含む新しいコミット(複数可)を作成します。

の構文は ... はコミット範囲です。開始 (exclude) から最後のコミットまでのすべてのコミットを取得します。もし単一のコミットで単一のSHA-1を使用したい場合は


cherry-pick コミットなし

デフォルトでは git cherry-pick コミット このため、すべての変更をコミットせずにチェリーピックしたい場合は、単に -n フラグを追加するだけです。

これにより、変更を確認し、必要であれば手動でコミットするか、あまりに多くの衝突に遭遇した場合は中止することができます。

git cherry-pick -n <hash>


cherry-pick マージコミット

コミットではなく、マージをチェリーピックする必要がある場合は -m フラグを使用します。

#
# In this case, we select the [1] first parent in the commit
# Use git show <hash> to see a list of available parents
# 
git cherry-pick -m 1 <hash> 


全文を読む git cherry-pick 使用可能なすべてのオプションのドキュメント