157

コミットにタグを付けるときは、最後にタグを付けたコミットから何が変更されたかを知る必要があります。例えば:

a87a6sdf87a6d4 Some new feature
a87a6sdf87a6d3 Some bug fix
a87a6sdf87a6d2 Some comments added
a87a6sdf87a6d1 Some merge <- v1.4.0

この例では、最新の3つのコミットについて知りたい、または上記のようにログを印刷して、両方のコミットにタグがある場合はそれを表示できるようにします。そして、新しい機能が追加されているのを確認したら、v1.5.0のタグを付けます。

これにどのように対処しますか?これは私がタグを使用することになっている方法ですか?タグメッセージには何を書くべきですか?私はいつもそれを空白のままにします:git tag -a v1.2.3 -m ''

4

2 に答える 2

273

git log <yourlasttag>..HEAD

あなたの例のように、コミットID +メッセージを含む1行でそれらが必要な場合は、

git log <yourlasttag>..HEAD --oneline

また、最新のタグがわからない場合や、これを動的にしたい場合は、Windowsで実行できます。

for /f "delims=" %a in ('git describe --tags --abbrev^=0') do @set latesttag=%a
git log %latesttag%..HEAD --oneline

Linuxでは/gitbash / windows bash

git log $(git describe --tags --abbrev=0)..HEAD --oneline

また、履歴内のタグを知っていて、そのタグから現在の状況までのすべてを印刷したい場合は--decorate、その間のタグを印刷するように追加することもできます。

于 2012-08-22T23:59:02.373 に答える
58

現在のコミットもタグであり、最新のタグや以前のタグ名を知らなくても、前のタグ以降の変更を動的に取得したい場合は、次の操作を実行できます。

git log --oneline $(git describe --tags --abbrev=0 @^)..@

@はの略であることに注意してくださいHEAD

于 2015-07-30T09:17:31.397 に答える