2009-12-28 34 views
143

Tôi có thể sử dụng lệnh nào để in ra ID cam kết của HEAD?Lệnh Git để hiển thị HEAD commit id?

Đây là những gì tôi đang làm bằng tay:

$ cat .git/HEAD 
ref: refs/heads/v3.3 
$ cat .git/refs/heads/v3.3 
6050732e725c68b83c35c873ff8808dff1c406e1 

Nhưng tôi cần một kịch bản mà có thể đáng tin cậy ống đầu ra của một số lệnh vào một file văn bản như vậy mà các tập tin văn bản chứa chính xác id của cam kết HEAD (không có gì nhiều hơn hoặc ít hơn, và không chỉ là một ref). Có ai giúp được không?

+0

Tôi có một câu hỏi tương tự trước đó. Và nó cũng được trả lời ở đây: https://stackoverflow.com/questions/44994626/why-git-use-2-different-commands-to-show-head – smwikipedia

Trả lời

253

Sử dụng lệnh:

git rev-parse HEAD 

Đối với phiên bản ngắn:

git rev-parse --short HEAD 
+26

Đối với bất kỳ ai tìm phiên bản ngắn của băm, 'git rev-parse - head HEAD' sẽ hoạt động. – mgarciaisaia

9

Cũ chủ đề, vẫn để tham khảo trong tương lai ... :) tác phẩm thậm chí sau

git show-ref --head 

bởi HEAD mặc định được lọc ra. Hãy cẩn thận về việc theo dõi; số nhiều "đầu" với 's' ở cuối. Lệnh sau đây cho thấy chi nhánh dưới "refs/người đứng đầu"

git show-ref --heads 
+0

Cảm ơn. Hữu ích. –

+1

sử dụng các lệnh này trong một repo git (lớn), tôi nhận được hai dòng từ 'git show-ref --heads' và 6290 dòng từ' git show-ref --head'. vì vậy nếu bạn chỉ muốn một băm duy nhất, điều này cho phép có thể không phải là kết quả dự định. –

3

Chơi với Bash:

git show HEAD | sed -n 1p | cut -d " " -f 2 
+1

Tránh các đường ống với 'git show --pretty =% H' – bufh

12
git log -1 

chỉ cam kết id

git log | head -n 1 
0

Theo https://git-scm.com/docs/git-log, để biết thêm đầu ra khá trong bảng điều khiển, bạn có thể sử dụng --decorate Lập luận của git-log lệnh:

git log --pretty=oneline --decorate 

sẽ in:

2a5ccd714972552064746e0fb9a7aed747e483c7 (HEAD -> master) New commit 
fe00287269b07e2e44f25095748b86c5fc50a3ef (tag: v1.1-01) Commit 3 
08ed8cceb27f4f5e5a168831d20a9d2fa5c91d8b (tag: v1.1, tag: v1.0-0.1) commit 1 
116340f24354497af488fd63f4f5ad6286e176fc (tag: v1.0) second 
52c1cdcb1988d638ec9e05a291e137912b56b3af test 
Các vấn đề liên quan