"วันนี้ฉันจะบอกคุณเกี่ยวกับโปรแกรมควบคุมเวอร์ชันยอดนิยมสองโปรแกรม: SVN และ Git"
"SVN ทำงานใกล้เคียงกับที่ฉันอธิบายไว้ในบทเรียนที่แล้ว Git ซับซ้อนกว่าเล็กน้อย และฉันวางแผนที่จะพูดถึงรายละเอียดเพิ่มเติม"
"คุณช่วยบอกลิงก์ไปยังเอกสารสำหรับ SVN และ Git ให้ฉันได้ไหม"
"แน่นอน แค่วินาทีเดียว"
http://svnbook.red-bean.com/en/1.7/svn-book.html
https://githowto.com (นี่เป็นเพียงผลงานชิ้นเอก)
“งั้นกิต ”
"มันซับซ้อนกว่า SVN เล็กน้อย ด้วย Git ผู้ใช้แต่ละคนจะมีที่เก็บในเครื่องของตนเองนอกเหนือจากที่เก็บเซิร์ฟเวอร์ "
“แล้วตกลงไปที่ไหน”
"ผู้ใช้มักจะยอมรับกับที่เก็บในเครื่องของตน"
"แล้วที่เก็บเซิร์ฟเวอร์ล่ะ"
"ในการซิงโครไนซ์ที่เก็บข้อมูลในเครื่องและเซิร์ฟเวอร์มีคำสั่งดึงและพุชพิเศษ
"มีเหตุผลสำหรับสิ่งนี้ บางครั้งโปรแกรมเมอร์ต้องทำงานหลายอย่างในส่วนของตัวเอง ซึ่งอาจเกี่ยวข้องกับการคอมมิตหลายร้อยครั้งก่อนที่จะเพิ่มลงในที่เก็บที่ใช้ร่วมกันได้"
"ในการทำเช่นนี้ใน SVN คุณจะต้องเริ่มต้นสาขาแยกต่างหาก แล้วจึงรวมเข้ากับลำต้น"
"ด้วย Git คุณเพียงแค่คอมมิตกับที่เก็บในเครื่องเสมอ จากนั้นส่งการเปลี่ยนแปลงทั้งหมดเป็นแบทช์ไปยังที่เก็บกลางบนเซิร์ฟเวอร์เมื่อคุณทำเสร็จแล้ว"
"วิธีนี้อาจดูมากเกินไปเล็กน้อยเมื่อคุณเขียนโค้ดเพียงเล็กน้อย แต่เมื่องานของคุณใหญ่มากจนกินเวลาหลายสัปดาห์ คุณก็เข้าใจว่าคุณไม่สามารถเขียนทั้งเวลานั้นโดยไม่ลงมือทำ"
"ทำไมคุณไม่ทำงานแค่สองสัปดาห์ แล้วส่งการเปลี่ยนแปลงของคุณไปยังเซิร์ฟเวอร์เพียงครั้งเดียว"
"โปรแกรมควบคุมเวอร์ชันให้ความสะดวกมากมาย"
"ลองนึกภาพว่าคุณกระทำทุกวัน และในวันที่ 10 คุณพบว่าการเปลี่ยนแปลงที่คุณทำในช่วงสองวันที่ผ่านมาจะไม่ทำงานตามที่วางแผนไว้ และคุณต้องการเปลี่ยนกลับเป็นรหัสที่คุณมีในวันที่ 8 และเริ่มภารกิจ ต่างกัน"
"คุณเพียงย้อนกลับการเปลี่ยนแปลงที่ทำกับที่เก็บในเครื่องในช่วงสองวันที่ผ่านมาและกลับสู่สถานะที่ต้องการ ซึ่งเรียกว่าการ ดำเนินการ ย้อนกลับ "
“คุณกำลังจะบอกว่าคุณทำได้?”
"ใช่ นอกจากนี้ เนื่องจากประวัติการคอมมิตถูกเก็บไว้ คุณจึงสามารถทราบได้ว่าเมื่อใดและทำไมบางสิ่งถูกคอมมิต และโดยใคร คุณลักษณะ/จุดบกพร่องที่เกี่ยวข้อง และไฟล์สิบไฟล์ใดบ้างที่ถูกแก้ไขพร้อมกันซึ่งเป็นส่วนหนึ่งของงานนี้"
"สมมติว่าการแก้ไขจุดบกพร่องของใครบางคนทำให้รหัสของคนอื่นเสียหาย คุณสามารถย้อนกลับ ( ย้อนกลับ ) รหัสและดำเนินการต่อราวกับว่าการเปลี่ยนแปลงนั้นไม่เคยเกิดขึ้น"
"ตกลง เยี่ยมมาก ฉันมั่นใจ คุณช่วยแสดงตัวอย่างสองสามตัวอย่างที่แสดงให้เห็นว่าทั้งหมดนี้ทำงานอย่างไร"
"แน่นอน."
"นี่คือวิธีที่คุณโคลนที่เก็บส่วนกลางไปยังเครื่องคอมพิวเตอร์ของคุณ:"
"ดังนั้น การดำเนินการ Checkout จึงไม่จำเป็นอีกต่อไป"
"อ๋อ และนี่คือตัวอย่าง การดำเนินการ พุช :"
"และ การดำเนินการ ดึง :
“อา นั่นสมเหตุสมผลมากหรือน้อย”
"ยังไงก็ตาม มีบริการเจ๋งๆ ชื่อ GitHub"
"โปรแกรมเมอร์ทุกคนสามารถลงทะเบียนที่นั่นและสร้างที่เก็บ Git ของตนเองได้ ฉันขอแนะนำให้คุณทำความคุ้นเคยกับมันให้มากขึ้น"
"ต่อไปนี้เป็นลิงก์ที่มีประโยชน์บางส่วน:"
https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
https://articles.assembla.com/using-git/getting-started/set-up-git-on-windows-with-tortoisegit
"โปรดทราบว่ามีลูกค้า Git ค่อนข้างน้อย"
"อันดับแรก มี GitBashซึ่งให้คุณป้อนคำสั่งข้อความ"
"จากนั้นก็มีTortoiseGitซึ่งเป็นโปรแกรมที่ดีในตัว Windows Explorer มันช่วยให้คุณทำงานกับไฟล์ในที่เก็บ Git ได้โดยตรงใน Explorer"
"IntelliJ IDEA รองรับ Git และให้คุณดำเนินการคำสั่งที่ซับซ้อนได้ทุกประเภทด้วยการคลิกเพียงไม่กี่ครั้งโดยตรงจากภายในสภาพแวดล้อม"
“แล้วฉันควรเรียนอันไหนดีล่ะ”
"ฉันขอแนะนำให้คุณรู้จักพวกเขาทั้งหมด"
"คุณจะผ่านการสัมภาษณ์และไปถึงที่ทำงาน คุณจะได้รับลิงก์ไปยัง Git ล็อกอินและรหัสผ่าน เท่านี้คุณก็ดำเนินการเอง"
"คุณหมายถึงอะไร «ด้วยตัวคุณเอง»?"
"ฉันหมายความว่าคุณจะต้องตั้งค่า Git ด้วยตัวเอง ดึงสำเนาของที่เก็บด้วยตัวเอง..."
"จากนั้นคุณจะต้องสร้างและพยายามดำเนินโครงการ"
"คำแนะนำในการสร้างมักจะอยู่ในที่เก็บ Git พร้อมกับเอกสารโครงการ"
"หัวหน้าทีมของคุณจะมาหาคุณในตอนเย็นและพูดว่า «คุณคิดอะไรออกแล้วจนถึงตอนนี้» "
"และคุณจะพูดว่า 'ฉันพยายามตั้งค่า Git ที่นี่ แต่ยังไม่ประสบความสำเร็จเลย« คุณจะไม่ไล่ฉันออกใช่ไหม» "
"หรือในขณะที่ยังเป็นเวลาเที่ยงวัน คุณสามารถไปหาหัวหน้าทีมและพูดว่า «ฉันติดตั้ง Git ดึงโปรเจกต์ และเรียกดูเอกสารประกอบ แต่มีไฟล์เป็นร้อยไฟล์และฉันยังไม่ได้จัดการทุกอย่าง คำแนะนำในการสร้างปัจจุบันคืออะไร'» "
"คุณรู้สึกถึงความแตกต่างไหม"
"ใช่ ในกรณีที่สอง ฉันเป็นสุดยอดโปรแกรมเมอร์ระดับร็อคสตาร์ แต่ในกรณีแรก ฉันเป็นโรโบ-ดูฟุสที่ไม่รู้ด้วยซ้ำว่าจะดึงโปรเจ็กต์จาก Git อย่างไร พูดอีกอย่างก็คือ ฉันทำพลาด ก่อนที่ฉันจะเริ่มเขียนโปรแกรมเสียด้วยซ้ำ ฉันคิดว่า หลังจากนั้นพวกเขาจะไม่ให้ฉันเขียนโค้ดด้วยซ้ำ"
"เห็นไหม คุณตอบคำถามของคุณเอง ดังนั้นจงศึกษาและหาคำตอบ ไม่มีใครจะทำเพื่อคุณ"
“เจ้าจะไม่ช่วยข้าหรือ?”
“ฉันช่วยไปแล้ว เรากำลังสอนภาษาจาวาที่นี่ เผื่อคุณลืม ส่วนอย่างอื่นคุณจัดการเอง หรือหัวของคุณแค่ดื่ม?”
"โอเค เข้าใจแล้ว ขอบคุณ บิลาโบ!"
GO TO FULL VERSION