あるブランチから別のブランチに (特定の SHA-1 タグを使用して) コミットをコピーしたいと考えています。正確なコピーにして、同じ SHA-1 タグにしたいのです。
これはどのように行うことができますか?
あるブランチから別のブランチに (特定の SHA-1 タグを使用して) コミットをコピーしたいと考えています。正確なコピーにして、同じ SHA-1 タグにしたいのです。
これはどのように行うことができますか?
それはできません。コミットの SHA-1 ハッシュは、親コミットのハッシュ、コミット メッセージの内容、およびコミットのツリーを使用して計算されます。
これは、親コミットが変更されると (ブランチが同じコミットを指している場合を除いて変更される)、SHA-1 も変更されることを意味します。
ユースケースがどのコミットからチェリー ピックが発生したかを知ることである場合は、 への-x
オプションを使用しますgit cherry-pick
。これにより、選択されたコミット ID がコミット メッセージに追加されます。
git merge
は SHA1 ハッシュを保持するため、git merge branchB
onbranchA
の場合、コミットは同じ ID を持つ必要があります。もちろん、これは個々のコミットでは機能しませんが、ブランチ全体では機能します。