2012-01-23 36 views
7

Tôi đang chỉnh sửa một dự án với git trên nhiều máy tính. Làm cách nào để kiểm tra phiên bản hiện tại tôi đang chạy trên máy tính?Git - Nhận bản sao làm việc hiện tại Phiên bản

Ví dụ: mỗi lần tôi cam kết, tôi sử dụng số phiên bản và đưa số đó vào thông báo cam kết. Có cách nào để tôi lấy lại thông điệp cam kết hiện tại cho bản sao làm việc mà tôi đang sử dụng không?

Trả lời

8

Git không có khái niệm về "Số sửa đổi". Nó có một băm cam kết. Bạn sẽ không biết băm cam kết của bạn cho đến khi bạn thực sự cam kết, vì vậy bạn không thể có được "băm hiện tại".

Nếu bạn muốn băm cam kết của cam kết trước đó, hãy sử dụng git log -1. Nếu bạn cần đầu ra là chỉ cần hàm băm, thì câu trả lời của xpapad là những gì bạn đang tìm kiếm.

Nếu bạn có nghĩa là phiên bản thực tế của Git (câu hỏi của bạn hơi mơ hồ với tôi), sau đó sử dụng git version.

+0

Xin lỗi vì sự mơ hồ, hãy để tôi thử lại ... mỗi lần tôi cam kết trong Git, tôi thêm số phiên bản làm thông báo cam kết. Sau đó, trên một máy khác, tôi kéo mã đó xuống khu vực làm việc của tôi. Có lệnh nào tôi có thể chạy để xem thông báo (và sau đó là số phiên bản mà tôi đưa vào) từ lần commit cuối cùng tôi kéo xuống không? –

+0

@fishpig Nếu tất cả những gì bạn muốn làm là xem thông báo cam kết cho HEAD bạn có thể sử dụng 'git log HEAD --pretty = format:% s' – vcsjones

+0

cảm ơn, điều đó đã làm điều đó –

17

Bạn có thể sử dụng git rev-parse ĐẦU

Nếu bạn sử dụng maven để xây dựng các dự án của bạn, hãy xem xét sử dụng SCM Plugin maven, xem:

http://maven.apache.org/scm/git.html

+0

Một điều gọn gàng về điều này mà tôi không kỳ vọng ban đầu là nó hoạt động ngay cả trong trạng thái đầu tách rời. Lý do cơ bản là khi bạn ở trạng thái đầu tách rời, bản sao làm việc của bạn không trỏ vào một điểm trong nhánh, nó chỉ trỏ vào một cam kết cụ thể, có thể ở nhiều hoặc không có nhánh. Vì vậy, HEAD trong tình huống đó chỉ đơn giản đề cập đến cam kết cụ thể đó, không phải là HEAD của bất kỳ nhánh nào mà nó có thể xảy ra. –

1

Nghe có vẻ như bạn muốn git-mô tả. Đó là điều git đóng có một số phiên bản đơn điệu.

Các vấn đề liên quan