2012-05-01 39 views
18

Tôi đã luôn luôn giả định rằng thư mục .git/branches là dành cho mục đích kế thừa và git được sử dụng để sử dụng thư mục đó, nhưng bây giờ sử dụng thư mục .git/refs thay thế. Điều này có đúng không? Nếu không, thì mục đích của thư mục đó là gì vì tôi chưa bao giờ thấy nó được sử dụng hoặc tham chiếu.Thư mục .git/branches được sử dụng để làm gì?

EDIT

Tôi đang sử dụng phiên bản git 1.7.3.4.

+0

Tôi không có thư mục chi nhánh trong bất kỳ séc nào mà tôi phải bàn giao (tất cả git 1.7.9 tôi nghĩ) - có thể nó không còn được dùng nữa và giờ đã biến mất? – Rup

+0

git 1.7.9.5, 1.7.9.1, 1.7.5.4 và tôi luôn nhận được thư mục nhánh, mặc dù trống. –

+0

Tôi không thể tìm thấy bất kỳ tham khảo nào tốt hơn [liên kết này] (http://www.siteground.com/tutorials/git/directory.htm), xác nhận rằng đó là một cách không được chấp nhận cho các chi nhánh. –

Trả lời

16

tại "hơi bị phản đối" sử dụng .git/branches được mô tả trong hữu ích gitrepository-layout documentation:

chi nhánh: Một cách hơi bị phản đối để lưu trữ shorthands được sử dụng để xác định URL để git fetch, lệnh git pullgit push là lưu trữ tệp trong chi nhánh/< tên > và cung cấp tên cho các lệnh này thay cho đối số kho lưu trữ.

Trong các nhận xét ở trên, câu hỏi đặt ra là tại sao một số người có thư mục này và một số thì không. Có vẻ như a commit was introduced in 2009 đã ngừng git tạo thư mục .git/branches theo mặc định. Tuy nhiên, gần đây hơn là thay đổi was reverted (ví dụ: có nghĩa là .git/branchessẽ được tạo ra trên git init, vv), với sự biện minh sau đây từ Junio ​​C. Hamano:

Không có đủ biện minh cho việc này. Chúng tôi không cập nhật mọi thứ trong .git/chi nhánh.git/remotes nữa, nhưng vẫn đọc thông tin từ đó và sẽ tiếp tục làm như vậy.

Bên cạnh đó, điều này phá vỡ khá nhiều thử nghiệm trong t55 ?? loạt.

+2

Nó đây rồi. Google không phải là bạn của tôi, ngay cả khi tôi hỏi khá vui lòng đường đã đứng đầu. –

+0

@LucaGeretti: vâng, tài liệu git kernel.org có tất cả các pagerank, và đó là * vẫn * không lên nữa: ( –

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