Git กำหนดกระบวนการควบคุมเวอร์ชันสำหรับวิธีแชร์โปรเจ็กต์ มีเว็บไซต์จำนวนมากที่อนุญาตให้คุณโฮสต์โครงการ Git ของคุณ GitHub เป็นตัวเลือกที่ได้รับความนิยมมากที่สุด Bitbucket เป็นอีกทางเลือกหนึ่งที่ได้รับความนิยม ทั้งสองอนุญาตให้ใช้บัญชีฟรีที่สามารถสร้างที่เก็บสาธารณะหรือส่วนตัวได้ไม่จำกัด GitLab เสนอทางเลือกที่โฮสต์เองเพื่อให้สามารถพัฒนาส่วนตัวโดยไม่ต้องพึ่งพาโฮสติ้งของบุคคลที่สาม
กระบวนการดาวน์โหลดที่เก็บ Git ครั้งแรกเรียกว่าการโคลน การโคลนมีข้อมูลทั้งหมดเกี่ยวกับที่เก็บในขณะนั้น อย่างไรก็ตาม เพื่อให้ที่เก็บเป็นปัจจุบันตลอดเวลา คุณต้องดึงเวอร์ชันใหม่ออกมา ในการดำเนินการดังกล่าว เพียงเปิดหน้าต่างเทอร์มินัลในไดเร็กทอรีด้วยเวอร์ชันโลคัลของที่เก็บ และพิมพ์คำสั่ง "git pull"
การดำเนินการของคำสั่งนี้ทำได้ง่ายมาก หากคุณต้องการดาวน์โหลดเวอร์ชันที่อัปเดตของพื้นที่เก็บข้อมูล เวอร์ชันท้องถิ่นจะได้รับการอัปเดตเพื่อให้ตรงกับเวอร์ชันระยะไกล อย่างไรก็ตาม คุณอาจเห็นว่าอาจมีปัญหาหากคุณได้ทำการแก้ไขเวอร์ชันท้องถิ่นของคุณ
คำสั่ง "git pull" จะรันคำสั่งสองคำสั่งแยกกัน "git fetch" และ "git merge FETCH HEAD" คำสั่งย่อย "git fetch" จะดึงเวอร์ชันล่าสุดออกจากที่เก็บข้อมูลออนไลน์โดยเฉพาะและจัดเก็บไว้ชั่วคราว คำสั่งย่อย "git merge FETCH HEAD" จะผสานการเปลี่ยนแปลงในเครื่องของคุณกับเวอร์ชันที่ดาวน์โหลด โดยต้องการคอมมิตที่ใหม่กว่า
เคล็ดลับ: “คอมมิต git” คือการส่งการเปลี่ยนแปลง เป็นไปได้ที่จะมีการคอมมิตแบบโลคัลและรีโมตหลายรายการที่ทำสิ่งเดียวกันหรือต่างกัน เวอร์ชันรีโมตจะมองไม่เห็นการคอมมิตภายในจนกว่าจะมีการพุชการเปลี่ยนแปลง การคอมมิตแต่ละครั้งให้รายละเอียดอย่างชัดเจนว่ามีการเปลี่ยนแปลงอะไรบ้างและรวมถึงการประทับเวลา
ความขัดแย้งระหว่างรุ่นท้องถิ่นและรุ่นระยะไกล
ในสถานการณ์สมมติการผสาน จะไม่มีข้อขัดแย้งและกระบวนการผสานจะเสร็จสมบูรณ์โดยอัตโนมัติ การผสานสามารถทำได้ง่ายเป็นพิเศษหากมีการเปลี่ยนแปลงเพียงเล็กน้อย หรือหากการเปลี่ยนแปลงในเครื่องไม่รบกวนการเปลี่ยนแปลงระยะไกลใดๆ อย่างไรก็ตาม หากมีการเปลี่ยนแปลงที่ซับซ้อนที่ขัดแย้งกันในส่วนเดียวกันของโค้ด Git จะทำให้เกิดข้อผิดพลาดในการผสาน
ณ จุดนี้ คุณสามารถยกเลิกการผสานด้วยคำสั่ง "git merge –abort" หรือพยายามแก้ไขข้อขัดแย้งด้วยตนเอง คำสั่ง "git mergetool" และ "git diff" ให้ตัวอย่างกราฟิกของความแตกต่างที่จะช่วยให้ง่ายต่อการดูว่าการเปลี่ยนแปลงใดที่ต้องใช้ด้วยตนเองเพื่อให้การผสานเสร็จสมบูรณ์ เมื่อคุณแก้ไขข้อขัดแย้งทั้งหมดแล้ว ให้พิมพ์คำสั่ง “git merge –continue” เพื่อให้การผสานเสร็จสมบูรณ์
คำสั่ง “git mergetool” จะเปิดเครื่องมือกราฟิกในลักษณะนี้เพื่อช่วยคุณแก้ไขข้อขัดแย้งด้วยตนเอง