ในฐานะที่เป็น SCM แบบกระจาย git แยกความแตกต่างระหว่างแนวคิด 'สร้างสแนปชอตของสำเนาการทำงาน' (คอมมิชชัน) และ 'ซิงค์ที่เก็บข้อมูล' (push / pull / fetch)
หากคุณมีที่เก็บในเครื่องของคุณเพียงแห่งเดียวเท่านั้นมันก็ไม่สมเหตุสมผลเลย อย่างไรก็ตามด้วย GitHub คุณจะมีโคลนอีกอันหนึ่ง (หนึ่งใน GitHub) และการผลักดันการเปลี่ยนแปลงของคุณมีข้อดีอย่างน้อยหนึ่งอย่าง: การสำรองข้อมูล หากคอมพิวเตอร์ของคุณเสียชีวิตคุณยังคงมีทุกสิ่งที่ส่งมาถึง github
แน่นอนว่านั่นไม่ใช่จุดประสงค์หลักของ GitHub; github มีไว้สำหรับรหัสที่ใช้ร่วมกันดังนั้นหากโครงการของคุณอยู่ใน gitub คุณสามารถอนุญาตให้ผู้อื่นดึงออกมาจากที่นั่นโคลนโครงการของคุณดำเนินการตามคำขอดึงจากโคลนนิ่งของพวกเขาหรือให้ผู้อื่นที่เชื่อถือได้
อีกเหตุผลที่จะผลักดันคือถ้าคุณใช้โคลนในพื้นที่หลายแห่ง สิ่งนี้มีประโยชน์สำหรับสิ่งต่าง ๆ : ตัวอย่างเช่นคุณอาจต้องการทำงานในสองสาขาที่แตกต่างกันในเวลาเดียวกันหรือคุณอาจต้องการลองใช้งานการทำลายล้างบนพื้นที่เก็บข้อมูลของคุณ หากทุกอย่างทำงานได้ตามที่ต้องการคุณเก็บโคลนที่ถูกดัดแปลง (หรือผลักดันการเปลี่ยนแปลงของคุณกลับไปที่ repo ดั้งเดิม) แต่ถ้าทุกอย่างไปทางทิศใต้คุณก็สามารถลบโคลนที่ยุ่งเหยิงและกลับไปที่เดิม (ซึ่งยังคงไม่เปลี่ยนแปลง) .
บางคนใช้ git สำหรับการปรับใช้: เวอร์ชันการผลิตนั้นเป็น repo git และการอัปเดตเป็นเวอร์ชันที่ใหม่กว่านั้นเป็นเรื่องของการดึงและชำระเงิน ฉันไม่จำเป็นต้องแนะนำสำหรับสิ่งที่ร้ายแรง แต่สำหรับสิ่งเล็ก ๆ มันเป็นวิธีที่ง่ายและใช้งานได้จริง