2
Appium 1.4ブランチとタグv1.4.16のHEADの違いを理解しようとしていて、git diffにタグとブランチを区別させる方法はありませんでした。gitタグとブランチの相違点
私が理解する限り、git diffの観点から見ると、タグとブランチの両方がコミットハッシュのエイリアスに過ぎません。
私は最終的に、ブランチヘッド(git checkout 1.4; git tag -a v1.4
)を指すタグ 'v1.4'を作成してから、git diff v1.4.16..v1.4
を実行して、その後の違いを確認できます。
これはちょっと変わったようですが、これが私が必要とするものを達成する唯一の方法ですか?
また、タグの代わりにコミットのSHA-1ハッシュを使用することもできます。あなたの質問は何ですか? –
あなたの質問の意図が本当に明確ではない。 Gitでは、いずれかのリファレンスが単に特定のコミットハッシュに解決されることは事実です。 'refs/heads/somebranch'と' refs/tags/sometag'との間には*完全な参照名のスペルのほかに、*インテント*が異なります。ブランチ名は、ブランチが発展するにつれて異なるコミットに解決することを意図していますタグ名は同じ単一のコミットを永遠に解決するためのものです。ただし、 'git diff'を実行すると、今すぐ*の名前を解決するだけで済みますので、気にする必要はありません。 – torek
タグはコミットを指すことができますが、必ずしもそうとは限りません。ブランチrefはコミットを指します。コミットはツリーを指します。あなたの場合、タグとブランチの両方がコミットを指しています。したがって、タグとブランチの違いは、2つのコミット間、または2つのツリー間、または2つのツリー内の特定のブロブ間の変更を表示することです。 blob、tree、commit、tagのようなgitオブジェクトについて知るには、 'Pro Git'で 'Git Internals'の章を見ることができます。 – ElpieKay