git เป็นหนึ่งในเครื่องมือเหล่านั้นที่ใช้งานง่ายมากที่คุณมักจะไม่ค้นพบความแตกต่างอย่างมากกับมัน คุณปิดกั้นการโคลนที่เก็บจากเว็บเช่นเดียวกับเกี่ยวกับเรื่องนี้ หากคุณทำการเปลี่ยนแปลงบางทีคุณอาจติดตามพวกเขาเช่นเดียวกับถ้าคุณสุภาพอย่างแท้จริงคุณอาจทำการร้องขอแบบดึงเพื่อให้กลับไปที่โครงการ อย่างไรก็ตามมีอีกมากที่คุณสามารถทำได้ ตัวอย่างเช่นคุณเข้าใจหรือไม่ว่า Git สามารถติดตามเอกสารคำที่ทำงานร่วมกันได้หรือไม่? หรือจัดการข้อมูลการเริ่มต้นของคุณในกล่อง Linux หลายกล่อง?
Git เป็นของใช้ในครัวเรือนของผลิตภัณฑ์แอปพลิเคชันซอฟต์แวร์ที่ทำการควบคุม (หรือรุ่น) แนวคิดคือคุณสามารถสร้างแอปพลิเคชันซอฟต์แวร์ (ตัวอย่างเช่น) รวมถึงติดตามการแก้ไขแต่ละครั้ง ระบบที่ยอดเยี่ยมมีบทบัญญัติสำหรับการเปิดใช้งานหลาย ๆ คนในการทำงานในครั้งเดียว โดยปกติจะมีวิธีการบางอย่างในการแบ่งงานออกเป็นส่วนต่าง ๆ ตัวอย่างเช่นคุณสามารถแยกออกเพื่อสร้างรุ่นของผลิตภัณฑ์สำหรับตลาดอื่นหรือลองใช้ฟังก์ชั่นการทดลองโดยไม่ทำลายการพัฒนาทั่วไป ในบางกรณีคุณจะนำกลับไปสู่สายหลักในที่สุด
แม้ว่าในงวดถัดไปฉันจะให้การใช้งานแปลก ๆ สำหรับ GIT ที่คุณอาจพบว่ามีประโยชน์การเผยแพร่ครั้งนี้ส่วนใหญ่เป็นเรื่องราวของวิธีที่ Git มาถึง ความก้าวหน้าของโอเพ่นซอร์สเป็นที่เข้าใจกันเพื่อสงครามเปลวไฟเช่นเดียวกับนิทานนี้อย่างน้อย เช่นเดียวกับในแฟชั่นแฮ็กเกอร์ที่แท้จริงฮีโร่ของเรื่องราวตัดสินใจว่าเขาไม่ชอบเครื่องมือที่เขาใช้ประโยชน์ดังนั้น … ดีคุณจะทำอะไร
สงครามของตัวควบคุมรุ่น
ในอดีตแอปพลิเคชั่นซอฟต์แวร์ที่มีฟังก์ชั่นนี้มีความคิดกลางเซิร์ฟเวอร์ นั่นคือรหัสที่อาศัยอยู่บนเครือข่ายที่ไหนสักแห่ง เมื่อคุณต้องการทำงานกับข้อมูลที่คุณต้องการตรวจสอบ ใช้งานได้เฉพาะเมื่อไม่มีใครตรวจสอบ แน่นอนถ้าคุณประสบความสำเร็จไม่มีใครอื่นอาจตรวจสอบข้อมูลของคุณจนกว่าคุณจะนำพวกเขากลับมา หากคุณไม่อยู่จากเครือข่ายเช่นเดียวกับที่คุณต้องการทำงานกับบางสิ่งบางอย่างเช่นไม่ดี
อย่างไรก็ตามเครื่องมือร่วมสมัยมากขึ้นผ่อนคลายข้อ จำกัด เหล่านี้บางส่วน เหมาะอย่างยิ่งเครื่องมืออาจให้สำเนางานประจำภูมิภาคของคุณรวมถึงการปรับปรุงสำเนาอื่น ๆ ทันทีเมื่อคุณเปิดตัวการเปลี่ยนแปลง วิธีนี้ไม่มีสำเนากลางที่จะสูญเสียคุณอาจทำงานได้ทุกที่เช่นเดียวกับที่คุณไม่จำเป็นต้องประสานงานกับสิ่งต่าง ๆ กับเพื่อนร่วมทีมคนอื่น ๆ
เครื่องมือปิด
ทีมงานที่มีขนาดใหญ่มากจัดตั้งเคอร์เนล Linux ปลายปี 1998 ทีมกำลังมีช่วงเวลาที่ยากลำบากในการจัดการการแก้ไข นักพัฒนาเคอร์เนล [Larry McVoy] มีธุรกิจที่สร้างรุ่นกระจายที่ปรับขนาดได้จัดการผลิตภัณฑ์ที่เรียกว่า Bitkeeper แม้ว่ามันจะเป็นผลิตภัณฑ์อุตสาหกรรม แต่ยังมีใบอนุญาตในละแวกใกล้เคียงที่ช่วยให้คุณใช้งานได้ตราบใดที่คุณไม่ได้ทำงานกับเครื่องมือที่กำลังแข่งขันในขณะที่คุณใช้ผลิตภัณฑ์รวมถึงหนึ่งปีหลังจากนั้น ข้อ จำกัด ที่ใช้กับทั้งอุตสาหกรรมรวมถึงการแข่งขันโอเพ่นซอร์ส แม้ว่าผลิตภัณฑ์จะเก็บข้อมูลส่วนใหญ่ไว้ในเครื่องของคุณ แต่ยังมีส่วนประกอบเซิร์ฟเวอร์ดังนั้นธุรกิจสามารถติดตามการใช้งานของคุณของผลิตภัณฑ์
ในปี 2002 ทีมเคอร์เนล Linux ยอมรับ Bitkeeper [Linux Torvalds] เป็นหนึ่งในผู้เสนอระบบใหม่ อย่างไรก็ตามนักออกแบบคนอื่น ๆ (และการเฉลิมฉลองที่สนใจเช่น [Richard Stallman] มีความกังวลเกี่ยวกับการใช้เครื่องมือที่เป็นกรรมสิทธิ์ในการสร้างโอเพ่นซอร์ส Bitmover – ธุรกิจที่อยู่เบื้องหลัง Bitkeeper – เพิ่มเกตเวย์บางอย่างเพื่อให้แน่ใจว่านักออกแบบที่ต้องการใช้ระบบที่แตกต่างกันสามารถใช้ระบบที่แตกต่างกัน ขอบเขต.
ส่วนใหญ่สิ่งต่าง ๆ เงียบสงบด้วยเปลวไฟเป็นครั้งคราวเท่านั้นที่ได้รับการปะทุขึ้นที่นี่เช่นเดียวกับที่นั่น นั่นคือจนถึงปี 2005 เมื่อธุรกิจ [McVoy’s] เปิดเผยว่าจะหยุดเวอร์ชั่นฟรีของ Bitkeeper เหตุผลอย่างเห็นได้ชัดว่าเป็นเพราะบุคคลที่สร้างลูกค้าที่เพิ่มคุณสมบัติจากรุ่นอุตสาหกรรมไปยังฟรี
เครื่องมือใหม่
เป็นผลให้สองงานปั่นปั่นมากเท่ากับสร้างการทดแทน แน่นอนว่า Mercurial เป็นหนึ่งเดียวกับ Git แน่นอนเป็นอีก [McVoy] ติดต่อลูกค้าอุตสาหกรรมเรียกร้องให้คนงานของพวกเขา [ไบรอันโอซัลลิแวน] หยุดการมีส่วนร่วมในการปรอทซึ่งเขาทำ แน่นอนว่าทั้ง Mercurial เช่นเดียวกับ Git มาถึงการบรรลุผลด้วย GIT ที่ลงท้ายด้วยไม่เพียง แต่รุ่นของทีมเคอร์เนลจัดการระบบอย่างไรก็ตามระบบสำหรับคนอื่น ๆ เช่นกัน
เกิดของ git
[Linus] มองหาระบบที่อยู่นอกบ้านอีกครั้ง ไม่มีในเวลานั้นมีประสิทธิภาพหรือคุณสมบัติที่เหมาะสมกับทีมความก้าวหน้าของเคอร์เนล เขาออกแบบ Git เพื่อความเร็วความเรียบง่ายเช่นเดียวกับการป้องกันการทำสิ่งเดียวกันที่แน่นอนว่า CVS (เวอร์ชันที่มีการซ่อมแซมจัดการ) ทำ
ความก้าวหน้าครั้งแรกแสดงให้เห็นถึงสองสามวัน ตั้งแต่รุ่น 1.0 รุ่นในปลายปี 2548 แอปพลิเคชั่นซอฟต์แวร์ได้วางไข่มากกว่าหนึ่งเว็บไซต์สำคัญเช่นเดียวกับการเป็นระบบตัวเลือกสำหรับนักพัฒนาจำนวนมากทั้งโอเพ่นซอร์สรวมถึงการค้า
คน repo
แผนภูมิการไหลแสดงให้เห็นว่า Trick ของ git ที่จัดการกับผู้พัฒนาได้อย่างมากในครั้งเดียว: ที่เก็บหรือ Repos นักออกแบบแต่ละคนมีสำเนาทั้งหมดของงานทั้งหมด (ที่เก็บภูมิภาค) ในความเป็นจริงถ้าคุณไม่สนใจการแบ่งปันคุณไม่ต้องการที่เก็บรีโมต Repo ส่วนบุคคลของคุณเป็นงาน GIT ที่มีให้มากที่สุดเท่าที่ทุกคนแม้กระทั่งระยะไกลซึ่งเป็นไปได้มากที่สุดใน GitHub หรืออีกหนึ่งเซิร์ฟเวอร์เครือข่าย คุณทำการดัดแปลงของคุณในไดเรกทอรีการทำงานขั้นตอนที่คุณ “เสร็จสิ้น” ด้วย (สำหรับตอนนี้) รวมถึงอุทิศให้กับ Repo ของคุณ เมื่อถึงเวลาคุณผลักดันการปรับเปลี่ยนของคุณให้มากที่สุดเท่าที่รีโมตรวมถึงการรวมกับการเปลี่ยนแปลงของคนอื่น
ที่น่าสนใจคือ Git ไม่เพียงทำงานกับข้อมูลข้อความ (ฉันจะแสดงให้คุณเห็นมากขึ้นเกี่ยวกับการผ่อนชำระครั้งต่อไป) อย่างไรก็ตามมันทำงานได้ดีที่สุดในข้อมูลข้อความเนื่องจากมีความฉลาดเพียงพอที่จะสังเกตเห็นการแก้ไขข้อมูลที่ไม่ทับซ้อนกันรวมทั้งผสานโดยอัตโนมัติ ดังนั้นหากฉันซ่อมแซมข้อผิดพลาดรวมถึง A สำหรับลูปในรหัสบางอย่างรวมถึงการแก้ไขข้อความแสดงข้อผิดพลาดบางอย่าง Git จะใจดีเมื่อรหัสของเราผสาน
แน่นอนว่าไม่ทำงานแน่นอน ที่นำไปสู่ความขัดแย้งที่คุณต้องแก้ไขด้วยตนเอง อย่างไรก็ตามหากคุณมีคนสองคนที่สัมผัสกับส่วนต่าง ๆ ที่แน่นอนที่แม่นยำของรหัส Git มักจะทำงานได้ดีในการแก้ไขความแตกต่าง แน่นอนข้อมูลไบนารีไม่ได้รับความหรูหรานั้นโดยทั่วไป คุณไม่สามารถกระจายไอคอนได้อย่างแม่นยำเพื่อดูว่าบุคคลที่มีคนดึงหนวดกับมันเช่นเดียวกับอีกคนหนึ่งหันมาพื้นหลังสีเขียว อย่างไรก็ตามในทางเทคนิคหากคุณอาจคิดออกอัลกอริทึมคุณอาจเพิ่มลงใน Git
ข้อต่อกัน
หากคุณต้องการเพิ่มความเข้าใจของคุณเกี่ยวกับ Git นอกเหนือจากการทำโคลนคุณอาจจะแย่กว่า 15 นาทีในการกวดวิชานี้ หากคุณเข้าใจพื้นฐานแล้วคุณอาจค้นพบสิ่งใหม่ ๆ ในการกวดวิชาขั้นสูงหรือตรวจสอบวิดีโอของการพูดคุย [Linus] ให้กับ Git A ในขณะที่กลับมา
ในปี 2559 โดยวิธีการ Bitkeeper เปิดเผยว่าพวกเขาจะย้ายไปที่ใบอนุญาต Apache ซึ่งแน่นอนว่าเป็นโอเพ่นซอร์ส ประเภทของแดกดันใช่ไหม
เครดิตรูปภาพ:
ทหาร Tux โดย [Sharkey], CC By-SA 3.0
[Linus Torvalds] จากนิตยสาร Linux, CC BY-SA 3.0
ผังงานโดย [lbhtw], cc by-sa 3.0