Trong Git, làm cách nào để biết bản sửa đổi hiện tại của tôi là gì?


167

Tôi chỉ muốn biết số phiên bản hiện tại của tôi là gì.


Tôi tìm thấy câu hỏi này trong khi tôi đang tìm cách để có được bản sửa đổi hiện tại để sử dụng nó trong các lệnh git tiếp theo. Nhưng khi tôi đọc câu trả lời, tôi đã hiểu ra: "Đợi đã, tôi không cần nó, tôi chỉ có thể sử dụng HEADthực sự."
Antoine Pinsard

Câu trả lời:


228

"Số phiên bản" nghĩa là gì? Nó là khá phổ biến để gắn thẻ một cam kết với một số phiên bản và sau đó sử dụng

$ git describe --tags

để xác định ĐẦU hiện tại ghi bất kỳ thẻ nào. Nếu bạn muốn nói là bạn muốn biết hàm băm của ĐẦU hiện tại, có lẽ bạn muốn:

$ git rev-parse HEAD

hoặc cho băm sửa đổi ngắn:

$ git rev-parse --short HEAD

Nó thường là đủ để làm:

$ cat .git/refs/heads/${branch-master}

nhưng điều này không đáng tin cậy vì ref có thể được đóng gói.


8
Tài liệu tham khảo có thể được đóng gói .git/packed-refs, vì vậy bạn có thể nên tránh truy cập trực tiếp .git/refs/. Chỉ cần sử dụng git rev-parse master(hoặc git rev-parse refs/heads/masternếu bạn cần phải hoàn toàn rõ ràng).
Chris Johnsen

108

Có nhiều cách git log -1là dễ nhất và phổ biến nhất, tôi nghĩ


1
Làm cách nào để biến tập tin trở thành phiên bản trước?
TIMEX

1
có thể bạn muốn kiểm tra git ĐẦU ^ - tên tệp
manojlds

2
btw, điều này mang lại NHIỀU HƠN THẾ NỮA hơn là sửa đổi hiện tại và do đó bạn sẽ phải phân tích cú pháp đó (vì vậy, không phải là giải pháp tốt nhất / dễ nhất / phổ biến,
imho

36

Điều này cung cấp cho bạn chỉ cần sửa đổi.

git rev-parse HEAD

Tôi nghĩ rằng đây là câu trả lời tốt nhất, vì nó không phụ thuộc vào việc thực hiện. Câu trả lời của William "cat .git / refs / Heads / master" sẽ cung cấp cùng một giá trị, nhưng không có gì đảm bảo rằng nó sẽ hoạt động trong tương lai nếu việc triển khai thay đổi.
Thagomizer

Đồng ý, đây là câu trả lời tốt nhất. Một đề cập ngắn gọn về các --shorttùy chọn sẽ làm cho nó hoàn hảo.
Bobby Jack

15

Điều này cung cấp cho bạn một vài chữ số đầu tiên của hàm băm và chúng đủ độc đáo để sử dụng như nói một số phiên bản.

git rev-parse - ĐẦU


0

bên dưới sẽ hoạt động với bất kỳ sửa đổi được đẩy trước đó, không chỉ ĐẦU

cho băm sửa đổi viết tắt:

git log -1 --pretty=format:%h

cho băm sửa đổi dài:

git log -1 --pretty=format:%H
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.