3

あるブランチから別のブランチに (特定の SHA-1 タグを使用して) コミットをコピーしたいと考えています。正確なコピーにして、同じ SHA-1 タグにしたいのです。

これはどのように行うことができますか?

4

2 に答える 2

6

それはできません。コミットの SHA-1 ハッシュは、親コミットのハッシュ、コミット メッセージの内容、およびコミットのツリーを使用して計算されます。

これは、親コミットが変更されると (ブランチが同じコミットを指している場合を除いて変更される)、SHA-1 も変更されることを意味します。

ユースケースがどのコミットからチェリー ピックが発生したかを知ることである場合は、 への-xオプションを使用しますgit cherry-pick。これにより、選択されたコミット ID がコミット メッセージに追加されます。

于 2012-08-27T16:41:24.687 に答える
1

git mergeは SHA1 ハッシュを保持するため、git merge branchBonbranchAの場合、コミットは同じ ID を持つ必要があります。もちろん、これは個々のコミットでは機能しませんが、ブランチ全体では機能します。

于 2012-08-27T17:56:29.213 に答える