2015-06-28 19 views
6

tôi đã được thử nghiệm trên máy tính địa phương của tôi (OS-X 10.10) trong đó sử dụng một trường hợp hệ thống tập tin nhạy cảm (HFS + [CI]) - khi tôi thiết lập lại cho người đứng đầu:GIT luôn luôn là trường hợp không nhạy cảm?

$ git reset head --hard 
$ git reset HEAD --hard 

$ git checkout 4f2c 
$ git checkout 4F2C 

Có cùng kết quả chính xác. Theo sự hiểu biết của tôi, GIT lưu trữ refs bên trong ./git/refs nhưng độ nhạy trường hợp của hệ thống tệp cơ bản có ảnh hưởng đến kết quả không?

Tôi có nhận được kết quả tương tự trên hệ thống tệp nhạy cảm không?

Trả lời

6

Có, chúng phân biệt chữ hoa chữ thường. Không, hệ thống tệp nhạy cảm sẽ không thành vấn đề. Vì git refs là một phần của SHA-1 hash và đó là các chữ số thập lục phân (base-16, chúng trông giống như chữ cái). Ít nhất là cho các cam kết-id. Như được chỉ ra bởi @EdwardThomson trong các ý kiến, một ref-name có thể (hoặc có thể không) phân biệt chữ hoa chữ thường (phụ thuộc vào hệ thống tệp cơ bản và cơ chế lưu trữ có bị đóng gói hay không).

+4

Id cam kết là * target * của ref là một chuỗi hex, nhưng tên ref chính nó là một chuỗi (ví dụ "master"). Nó có thể được xử lý trường hợp nhạy cảm (hoặc không) tùy thuộc vào cơ chế lưu trữ (lỏng lẻo hoặc đóng gói) và ngữ nghĩa hệ thống tập tin cơ bản. –

+0

@EdwardThomson Cảm ơn bạn đã nhận xét * cực kỳ * mang tính xây dựng, đã chỉnh sửa câu trả lời của tôi. –

5

Không, bạn sẽ không nhận được kết quả tương tự trên hệ thống tệp nhạy cảm. Nếu bạn đã chạy:

git reset branch --head 

trên một hệ thống tập tin nhạy cảm trường hợp thì đó là không giống như chạy:

git reset BRANCH --hard 

Kể từ tài liệu tham khảo thường được lưu trữ trên hệ thống tập tin (trong thư mục .git/refs/heads), độ nhạy trường hợp của hệ thống tập tin được phát. Trên hệ thống tệp nhạy cảm, .git/refs/heads/branch.git/refs/heads/BRANCH là hai tệp khác nhau.

Lưu ý rằng ngay cả trên hệ thống tệp không phân biệt dạng chữ, các tham chiếu của bạn có thể kết thúc "được đóng gói", trong một tệp chỉ định trên tham chiếu trên mỗi dòng. Trong trường hợp này, tham chiếu của bạn luôn phân biệt chữ hoa chữ thường, bất kể hệ thống tệp của bạn là gì.

+0

Có logic đơn giản nào khi tham chiếu được "đóng gói" không? – max

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