ความแตกต่างระหว่างgit clone
และgit checkout
คืออะไร?
ความแตกต่างระหว่างgit clone
และgit checkout
คืออะไร?
คำตอบ:
หน้าคนสำหรับเช็คเอาต์: http://git-scm.com/docs/git-checkout
หน้า man สำหรับ clone: http://git-scm.com/docs/git-clone
ในการสรุปมันโคลนสำหรับการดึงที่เก็บที่คุณไม่มีการชำระเงินสำหรับการสลับระหว่างสาขาในพื้นที่เก็บข้อมูลที่คุณมีอยู่แล้ว
หมายเหตุ: สำหรับผู้ที่มี SVN / CVS พื้นหลังและใหม่เพื่อ Git ที่เทียบเท่าgit clone
ใน SVN / CVS checkout
คือ ถ้อยคำเดียวกันของคำที่แตกต่างกันมักจะสับสน
checkout
สามารถนำไปใช้กับสิ่งอื่น ๆ เช่นการเขียนทับไฟล์ของคุณในสำเนาการทำงานของคุณด้วยเวอร์ชันของไฟล์นั้นจากการแก้ไขอื่น
git cloneคือการดึงที่เก็บของคุณจากเซิร์ฟเวอร์ git ระยะไกล
git checkoutคือการเช็คเอาท์สถานะที่คุณต้องการใน repository ของคุณ (เช่น branch หรือไฟล์เฉพาะ)
เช่นปัจจุบันคุณอยู่ในสาขาหลักและคุณต้องการเปลี่ยนเป็นสาขาพัฒนา
git checkout develop_branch
เช่นคุณต้องการชำระเงินให้กับสถานะของไฟล์เฉพาะ
git checkout commit_point_A -- <filename>
นี่เป็นข้อมูลอ้างอิงที่ดีสำหรับคุณในการเรียนรู้ Git ช่วยให้คุณเข้าใจได้ง่ายขึ้น
git clone
จะทำงานร่วมกับ repos ท้องถิ่น
สิ่งหนึ่งที่ควรสังเกตคือการขาด "คัดลอก" ภายใน git นั่นเป็นเพราะคุณมีสำเนาเต็มใน repo ท้องถิ่นของคุณ - repo ท้องถิ่นของคุณเป็นclone
ของ repo upstream ที่คุณเลือก ดังนั้นคุณจึงมีความเป็นส่วนตัวcheckout
ของทุกอย่างได้อย่างมีประสิทธิภาพโดยไม่ต้องใส่ 'ล็อค' ลงในไฟล์เหล่านั้นใน repo อ้างอิง
Git ให้ค่าแฮช SHA1 เป็นกลไกในการตรวจสอบว่าสำเนาที่คุณมีในไฟล์ / ไดเรกทอรีต้นไม้ / การกระทำ / repo เหมือนกับที่ใช้โดยผู้ที่สามารถประกาศสิ่งต่าง ๆ ในฐานะ "Master" ภายในลำดับชั้นของความไว้วางใจ นี่เป็นการหลีกเลี่ยงการ 'ล็อก' ทั้งหมดที่ทำให้ระบบ SCM ส่วนใหญ่สำลัก (ด้วยปัญหาปกติของสำเนาส่วนตัวการรวมขนาดใหญ่และไม่มีการควบคุมหรือการจัดการซอร์สโค้ดจริง ;-)!
ชำระเงินคอมไพล์ได้ 2 ครั้ง
git checkout <existing_local_branch_name>
git checkout -b <new_feature_branch_name>
จะสร้างสาขาใหม่ที่มีเนื้อหาของต้นแบบและเปลี่ยนเป็นสาขาที่สร้างขึ้นใหม่คุณสามารถค้นหาตัวเลือกเพิ่มเติมได้ที่เว็บไซต์ทางการ
-b
เป็นตัวเลือกที่น่ากลัวซึ่งจะสร้างสาขาใหม่และการตรวจสอบมันออกมาได้เป็นอย่างดีในเวลาเดียวกันในคำสั่งเดียว รักมัน!
checkout
สามารถใช้ได้หลายกรณี:
ตัวพิมพ์ที่หนึ่ง : สลับระหว่างสาขาในที่เก็บภายในตัวอย่างเช่น:
git checkout exists_branch_to_switch
นอกจากนี้คุณยังสามารถสร้างสาขาใหม่และสลับในกรณีนี้ด้วย -b
git checkout -b new_branch_to_switch
กรณีที่สอง : กู้คืนไฟล์จาก x rev
git checkout rev file_to_restore
...