Tôi đã đọc về các repositor trần và không trần / mặc định trong Git. Tôi chưa thể hiểu khá rõ (về mặt lý thuyết) về sự khác biệt giữa chúng và lý do tại sao tôi nên "đẩy" đến một kho lưu trữ trống. Đây là thỏa thuận:
Hiện tại, tôi là người duy nhất làm việc trong một dự án trên 3 máy tính khác nhau, nhưng sẽ có nhiều người tham gia vào nó sau này, vì vậy tôi đang sử dụng Git để kiểm soát phiên bản. Tôi sao chép repo trần trên tất cả các máy tính và khi tôi hoàn thành các sửa đổi của mình trên một trong số chúng, tôi cam kết và đẩy các thay đổi sang repo trần. Từ những gì tôi đã đọc, kho lưu trữ trần KHÔNG có "cây làm việc", vì vậy nếu tôi sao chép repo trần, tôi sẽ không có "cây làm việc".
Tôi đoán rằng cây làm việc lưu trữ thông tin cam kết, các nhánh, v.v. từ dự án. Điều đó sẽ không xuất hiện trong repo trần. Vì vậy, có vẻ tốt hơn đối với tôi để "đẩy" các cam kết vào repo với cây làm việc.
Vậy thì, tại sao tôi nên sử dụng kho lưu trữ trần và tại sao không? Sự khác biệt thực tế là gì? Điều đó sẽ không có lợi cho nhiều người làm việc trong một dự án, tôi cho rằng.
Phương pháp của bạn cho loại công việc này là gì? Gợi ý?
git clone --bare
bạn sẽ nhận được một repo trần, và nếu bạn chạy git clone
, bạn sẽ nhận được một cái không trần. Mỗi dự án công khai mà bạn từng nhân bản (được lưu trữ trên github chẳng hạn) là một kho lưu trữ trống ở đầu bên kia.
git clone
bạn có thể tự do chuyển đổi giữa các kho lưu trữ trần và không trần.