5

ドキュメントには次のように記載されています。

どれどれ:

$ git cherry master release-1.1.0 | head -1
- 533e2559342910fbffa2be5b38fdd7f2ddb2ed53
$ git show 533e2559342910fbffa2be5b38fdd7f2ddb2ed53
...
(cherry picked from commit 409c61b3304373a73c787fdf9c08cc338934b74d)
...

git show は、409c.. と 533e の同じ変更セットを示しています

$ git br --contains 533e2559342910fbffa2be5b38fdd7f2ddb2ed53
release-1.1.0
$ git br --contains 409c61b3304373a73c787fdf9c08cc338934b74d
master
release-1.0.4

これは、変更セットが master と release-1.1.0 の両方にあることを意味します。では、どうして git cherry が 533e.. を表示するのでしょうか?

4

1 に答える 1

3

また、「コミットは、git-patch-id プログラムから取得したパッチ ID と比較されます」とも表示されます。厳選した diff を適用すると、わずかに異なる diff になった可能性はありますか?

その場合、コミット ID が異なるだけでなく、git-patch-id としてのパッチ ID もコミットに対して異なるパッチ ID を報告するため、それらは互いのブランチにあるとは見なされません。

これを確認するのは簡単です:

git show 533e2559342910fbffa2be5b38fdd7f2ddb2ed53 | git-patch-id
git show 409c61b3304373a73c787fdf9c08cc338934b74d | git-patch-id

git-patch-id によって返された最初の sha1 が両方の実行で異なる場合、それが起こっています。

警告者 -- 私は自分の理論を試していませんが、それがマニュアルページを解釈する方法です。

于 2009-06-24T16:22:28.933 に答える