git log --decorate
thêm thông tin về refs liên quan đến các dữ liệu ghi nhận:Làm cách nào để trang trí một bản ghi git bằng thẻ gần nhất?
commit 9e895ace5d82df8929b16f58e9f515f6d54ab82d (tag: v3.10-rc7)
Author: Linus Torvalds <[email protected]>
Date: Sat Jun 22 09:47:31 2013 -1000
Linux 3.10-rc7
Thông tin này giúp theo dõi mà thẻ (hoặc chi nhánh) chứa này cam kết. Khi xem tập hợp các tệp bị hạn chế (ví dụ: thư mục con), không cần phải là thẻ cho các cam kết đó. Có cách nào để đặt tham chiếu đến thẻ trong đầu ra nhật ký không?
Tôi đã đề cập trước đây git describe
, nhưng điều đó mang lại v3.10-rc7-135-g98b6ed0
liên quan đến thẻ của chi nhánh nơi thay đổi này được thực hiện. Những gì tôi đang tìm kiếm là một tên thẻ giữa các cam kết.
Để rõ ràng, đây là tình hình hiện nay:
$ git log --decorate --oneline
98b6ed0 (HEAD, origin/master, master) Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
1a506e4 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
578a131 dlci: validate the net device in dlci_del()
11eb264 dlci: acquire rtnl_lock before calling __dev_get_by_name()
...
9e895ac (tag: v3.10-rc7) Linux 3.10-rc7
Những gì tôi muốn có một cái gì đó như:
98b6ed0 (v3.10-rc7+, HEAD, origin/master, master) Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
1a506e4 (v3.10-rc7+) Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
578a131 (v3.10-rc7+) dlci: validate the net device in dlci_del()
11eb264 (v3.10-rc7+) dlci: acquire rtnl_lock before calling __dev_get_by_name()
...
9e895ac (tag: v3.10-rc7) Linux 3.10-rc7
Sử dụng git describe
's đầu ra thay vì băm cam kết sẽ hiển thị một cái gì đó như :
$ git log --decorate --oneline -n4 | awk '{system("git describe " $1 " |tr -d '\''\n'\''");$1="";print}'
v3.10-rc7-135-g98b6ed0 (HEAD, origin/master, master) Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
v3.10-rc7-54-g1a506e4 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
v3.10-rc6-81-g578a131 dlci: validate the net device in dlci_del()
v3.10-rc6-80-g11eb264 dlci: acquire rtnl_lock before calling __dev_get_by_name()
...
v3.10-rc7 (tag: v3.10-rc7) Linux 3.10-rc7
Như bạn có thể thấy, tên thẻ cũ hơn được sử dụng làm trọng tài nce điểm thay vì điểm mà cam kết đã được sáp nhập. Vì mục đích minh họa, tôi đang sử dụng git log --oneline
tại đây, nhưng tôi thực sự muốn sử dụng đầu ra đầy đủ hơn, ví dụ: git log -p --stat
.
Âm thanh tuyệt vời, chính xác hơn câu trả lời ban đầu của tôi. +1 – VonC