master
ブランチがあるとしましょう。
次に、 newbranch
git checkout -b newbranch
そして、2つの新しいコミットを作成しnewbranch
ます:commit1とcommit2
次にマスターに切り替えて cherry-pick
git checkout master
git cherry-pick hash_of_commit1
gitk
調べてみると、commit1とその厳選されたバージョンではハッシュが異なるため、厳密には2つの異なるコミットであることがわかります。
最後にマージnewbranch
しmaster
ます:
git merge newbranch
同じハッシュを2回適用する必要があることを示しているため、ハッシュが異なる2つのコミットが問題なくマージされたことを確認してください。
gitはマージ中に実際にコミットの内容をスマートに分析し、変更を2回適用しないようにするか、これらのコミットが内部でリンクされているとマークされていると判断しますか?