2013-07-28 60 views
30

Dấu at @ thường được sử dụng trong git để specify revisions trong các cách khác nhau . Ví dụ:Dấu "/" ký hiệu/ký tự/ký tự có ý nghĩa gì trong Git?

  1. <ref>@{<date>} chỉ định tham chiếu ở trạng thái của nó trên <date>.

    Ví dụ: git diff [email protected]{yesterday} master.

  2. <ref>@{<n>} cụ thể tham chiếu tại số thứ trạng thái trước đó.

    Ví dụ: git diff [email protected]{1} master.

  3. @{-<n>} chỉ định n th chi nhánh đã kiểm tra trước đó trước nhánh hiện tại.

    Ví dụ: git checkout @{-5}.

  4. <ref>@{upstream} chỉ định chi nhánh ngược dòng cho tham chiếu.

    Ví dụ: git diff [email protected]{upstream} master.

Tuy nhiên, các @ đang được sử dụng theo những cách khác trong git lệnh quá, giống như

git rebase -i @~4 
git log @^^[email protected] 

nào ở-dấu @ có ý nghĩa gì trong những ví dụ?

+0

man git-rev-parse – sehe

+0

@sehe lệnh đó sẽ không hoạt động đối với người dùng msysgit, msysgit không đi kèm với 'man', nếu họ muốn sử dụng lệnh để xem tài liệu, họ phải sử dụng' git rev -parse --help'. –

+0

nó không phải là một lệnh. Đó là một Moniker sử dụng không gian tên "người đàn ông" nổi tiếng :) https://www.google.com/search?q=man+git-rev-parse – sehe

Trả lời

34

As of Git version 1.8.5, tại-dấu @, mà không có một tên tài liệu tham khảo hàng đầu chi nhánh/và thứ {n} hậu tố như [email protected]{1}[email protected]{1}, chỉ là một từ đồng nghĩa/alias/phím tắt cho các tài liệu tham khảo Git đặc biệt HEAD:

Thay vì nhập bốn chữ cái viết hoa "HEAD", bạn có thể nói "@" ngay bây giờ, ví dụ: "git log @".

Vì vậy, đối với những lệnh

git rebase -i @~4 
git log @^^[email protected] 

bạn chỉ có thể thay thế sự xuất hiện đầu tiên của @ với HEAD (hoặc head nếu sử dụng Windows hoặc OS X)

git rebase -i HEAD~4 
git log HEAD^^..HEAD 

Vì vậy, những gì hiện HEAD có nghĩa là gì? Theo giải thích của các official Linux Kernel Git documentation for specifying Git revisions, HEAD là một tài liệu tham khảo phím tắt đặc biệt đối với các cam kết rằng bạn hiện đã check-out như bản sao làm việc của bạn (hoặc về Git, bạn "cây làm việc"):

tên ĐẦU cam kết về mà bạn dựa trên những thay đổi trong cây làm việc.

Bạn cũng có thể đọc những câu hỏi Stack Overflow khác về những gì các tài liệu tham khảo đặc biệt HEAD có nghĩa là:

  1. HEAD and ORIG_HEAD in Git.
  2. What is git HEAD, exactly?.

VonC cũng tìm thấy thông tin thú vị về lý do tại sao @ được chọn làm lối tắt cho head trong this Stack Overflow answer (the last section at the bottom).

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