ฉันได้อ่านเกี่ยวกับ repositores ที่เป็นค่าเริ่มต้นและไม่เปลือยใน Git แล้ว ฉันไม่สามารถเข้าใจได้ค่อนข้างดี (ในทางทฤษฎี) เกี่ยวกับความแตกต่างระหว่างพวกเขาและทำไมฉันควร "ดัน" ไปยังที่เก็บเปลือย นี่คือข้อตกลง:
ขณะนี้ฉันเป็นคนเดียวที่ทำงานในโครงการบนคอมพิวเตอร์ 3 เครื่องที่แตกต่างกัน แต่จะมีคนเข้ามาเกี่ยวข้องมากกว่านี้ในภายหลังดังนั้นฉันจึงใช้ Git สำหรับการควบคุมเวอร์ชัน ฉันโคลน repo ที่เปลือยบนคอมพิวเตอร์ทุกเครื่องและเมื่อฉันเสร็จสิ้นการแก้ไขหนึ่งในนั้นฉันยอมรับและผลักดันการเปลี่ยนแปลงไปยัง repo ที่เปลือยเปล่า จากสิ่งที่ฉันได้อ่านพื้นที่เก็บข้อมูลเปลือยไม่มี "ต้นไม้ทำงาน" ดังนั้นหากฉันลอกแบบ repo เปล่าฉันจะไม่มี "ต้นไม้ทำงาน"
ฉันเดาว่าต้นไม้ทำงานเก็บข้อมูลการกระทำสาขา ฯลฯ จากโครงการ ที่จะไม่ปรากฏใน repo เปลือย ดังนั้นจึงเป็นการดีกว่าสำหรับฉันที่จะ "ผลักดัน" ความมุ่งมั่นที่จะซื้อคืนต้นไม้ทำงาน
จากนั้นทำไมฉันจึงควรใช้ที่เก็บเปลือยและทำไมไม่ ความแตกต่างในทางปฏิบัติคืออะไร นั่นจะไม่เป็นประโยชน์กับคนที่ทำงานในโครงการฉันคิดว่า
คุณมีวิธีการอย่างไรสำหรับงานประเภทนี้? ข้อเสนอแนะ?
git clone --bare
คุณจะได้รับ repo เปล่าและถ้าคุณเรียกใช้git clone
คุณจะได้รับrepo เปลือย ทุกโครงการสาธารณะที่คุณเคยโคลน (โฮสต์บน Github เป็นต้น) เป็นพื้นที่เก็บข้อมูลเปล่าที่ส่วนอื่น ๆ
git clone
คุณสามารถแปลงระหว่างที่เก็บข้อมูลเปลือยและที่ไม่ใช่ข้อมูลเปลือยได้อย่างอิสระ