ยินดีต้อนรับกลับ.
มาต่อจากวิดีโอที่แล้วของเราเพื่อพูดคุยเกี่ยวกับเวิร์กโฟลว์ขั้นสูงและรับและ GitHub
จนถึงตอนนี้ ทั้งฉันกับมาร์ซี่เพิ่งทำงานที่นี่ หัวหน้าสาขา
นั่นหมายความว่าอย่างไร?
มันบอกว่ากิ่งก้าน แต่ฉันเห็นเฉพาะอาจารย์ที่นี่
และคุณอาจสังเกตเห็นปัญหาหนึ่งเกี่ยวกับวิธีที่เราทำสิ่งต่างๆ
นั่นคือถ้าเป็นวันแรกของฉันในการทำงานและฉันเพิ่งเปลี่ยนชื่อ
แต่บางทีเราก็ไม่ต้องการการเปลี่ยนแปลงนั้นด้วยซ้ำ
บางทีนั่นอาจทำลายการสร้างแบรนด์ของเราหรือทำลายแอพของเรา
แต่ฉันสามารถทำมันได้อย่างง่ายดายเพื่อเปลี่ยนเป็นปรมาจารย์
บางทีมาร์ซี่ไม่รู้ด้วยซ้ำ
ฉันได้เพิ่มการเปลี่ยนแปลงนั้นแล้ว
และนั่นเป็นปัญหาใหญ่ใช่ไหม
คุณคงไม่อยากใส่สิ่งที่เราเรียกว่าการผลิต ในสิ่งที่ผู้ใช้เห็น
ถ้ามันจะทำให้เว็บไซต์ของเราเสียหาย หากคุณเป็นบริษัทใหญ่อย่าง Facebook นั่นอาจหมายถึงการสูญเสียรายได้นับล้านดอลลาร์
แม้ว่าคุณจะมีข้อบกพร่องที่กินเวลาไม่กี่ชั่วโมงก็ตาม
ผมจะแสดงให้คุณเห็นถึงขั้นตอนการทำงานที่เหมือนจริงมากขึ้นที่คุณมี และนั่นคือการแตกแขนงออกไป
ให้ฉันแสดงให้คุณเห็นว่าฉันหมายถึงอะไร
ฉันมีภาพให้เห็นถึงสิ่งที่เจดทำได้ดีจริงๆ
จนถึงตอนนี้ เรากำลังพัฒนาสิ่งที่เราเรียกว่าอาจารย์
นั่นคือสาขาหลัก
คิดว่าสาขาหลักเป็นผู้มีอำนาจ
นี่เป็นวิธีที่ถูกต้องที่แอปหรือเว็บไซต์ของเราควรมีลักษณะ
และจนถึงตอนนี้ เมื่อฉันเพิ่มชื่อพื้นหลังสุดเท่ ฉันก็เปลี่ยนจากตัวสร้างพื้นหลังเป็นตัวสร้างสุดเจ๋ง
แล้วเมื่อมาร์ซีเปลี่ยนมันเป็นตัวพิมพ์ใหญ่ เราก็ไปที่นี่ และเราก็ทำเป็นเส้นตรงจากปลายด้านหนึ่งไปอีกด้านหนึ่งไปยังอีกด้านหนึ่ง
แต่อย่างที่ฉันพูดนั่นเป็นปัญหาเล็กน้อย
สิ่งที่ดีกว่าที่จะทำคือสิ่งที่เราเรียกว่าการแตกแขนง
ถ้าฉันต้องการเปลี่ยนชื่อ ฉันจะสร้างสาขาและเรียกมันว่าคุณสมบัติเล็ก ๆ น้อย ๆ เป็นต้น
และฉันเพิ่งทำงานในสาขานั้นด้วยตัวเองโดยไม่กระทบกับสาขาหลัก
สิ่งที่ผู้ใช้เห็น
และ.
เมื่อเสร็จแล้ว เมื่อ Marcy ตรวจทานแล้ว เมื่อเราทดสอบแล้วและทุกคนในทีมก็ไม่เป็นไร
จากนั้นเราจะนำมันกลับเข้าสู่ Master
และคุณสามารถเห็นได้ที่นี่ด้วยฟีเจอร์ขนาดใหญ่ คุณสามารถทำงานต่อในสาขาของคุณเองเป็นเวลานาน และเมื่อคุณทำเสร็จแล้วเท่านั้น
ทำสิ่งที่เราเรียกว่าผสานเข้าเป็นผู้เชี่ยวชาญ
ฉันจะแสดงให้คุณเห็นว่ามันทำงานอย่างไรในวันนี้
ฉันจะปิดสิ่งนี้และจดจำตัวอย่างของเรา
เรามีคอมพิวเตอร์ของ Marcy ที่นี่พร้อมไฟล์ทั้งหมด และเรามีคอมพิวเตอร์ของฉันที่นี่พร้อมไฟล์ทั้งหมด
เราทั้งคู่ได้ตั้งค่าเวิร์กสเตชันของเราแล้ว
และตอนนี้ คุณจะเห็นว่าเจ้านายในเทอร์มินัลของฉันหมายถึงอะไร เมื่อฉันจะแสดงให้คุณเห็นในบันทึกหลังจากนั้นว่าคุณจะตั้งค่านี้ได้อย่างไร
เพื่อที่จะบอกคุณว่าคุณอยู่ในสาขาใด
แต่เราสามารถเห็นได้ว่าเราทั้งคู่อยู่ในปรมาจารย์
นั่นคือคอมพิวเตอร์ของฉัน
และคอมพิวเตอร์ของมาร์ซีก็อยู่ในมาสเตอร์ด้วย
เราต้องการให้แน่ใจว่าเราทั้งคู่ได้รับ GitHub ล่าสุด
ดังนั้น มาร์ซี่จะดึง และฉันจะดึงด้วย
และสมมติว่าตอนนี้ฉันกำลังทำงานกับคุณลักษณะใหม่ และเนื่องจากเวิร์กโฟลว์ดีกว่าที่จะไม่ทำงานกับต้นแบบ
และนี่เป็นคำแนะนำที่ดี โดยทั่วไปแล้วจะไม่ทำงานกับ master แยกย่อยเสมอ
ถ้าฉันได้รับแบรนช์ พวกเขาจะแสดงให้ฉันเห็นว่า
ฉันมีเพียงหนึ่งสาขาและนั่นคือเจ้านาย
แต่เราสามารถเพิ่มเข้าไปได้
เราสามารถพูดได้ว่าเป็นคุณลักษณะใหม่หรือคุณลักษณะเล็ก ๆ ของสาขา
และตอนนี้ถ้าฉันได้รับสาขา
ฉันเห็นว่าฉันมีคุณลักษณะเล็กน้อย แต่ผู้เชี่ยวชาญถูกเน้นเพราะตอนนี้ฉันเป็นผู้เชี่ยวชาญ
วิธีที่ฉันจะไปที่สาขาเล็ก ๆ ฉันจะบอกว่า Get check out
คุณสมบัติเล็กน้อย
แล้วคุณก็เปลี่ยนไปใช้แบรนช์ little feature และตอนนี้ฉันอยู่ที่ Little Feature Branch
สิ่งที่ฉันได้ทำไปคือ ฉันได้แยกสาขาออกจาก Master และตอนนี้ก็สร้างฟีเจอร์เล็กๆ น้อยๆ ขึ้นมา
มาสร้างการเปลี่ยนแปลงกันสักหน่อย
ฉันจะบอกว่าในคุณสมบัติเล็ก ๆ เราจะเปลี่ยนชื่อพื้นหลัง CSS ปัจจุบันเพื่อบอกว่านี่คือพื้นหลัง
ฉันจะปลอดภัยที่นี่
และอีกครั้ง ฉันทำเวิร์กโฟลว์ง่ายๆ ที่เราทำในวิดีโอที่แล้ว รับสถานะ
ฉันเห็นว่า
ใช่ เรามีดัชนี การเปลี่ยนแปลง html
มันก็จะโล่งๆ ให้เห็น
ตอนนี้เราได้ทำการเปลี่ยนแปลงนี้แล้ว มาทำการเพิ่มกัน
และอีกครั้ง ขอสถานะเพื่อให้แน่ใจว่าทุกอย่างผ่านไปแล้ว
ใช่.
เราพร้อมที่จะกระทำดัชนี html ดังนั้นเราจะได้รับ commit message จะเปลี่ยนข้อความ
สมบูรณ์แบบ.
ให้ชัดเจนว่า
และตอนนี้ อีกครั้ง เพื่อให้ GitHub ทราบถึงการเปลี่ยนแปลงที่เราต้องทำ ให้ได้รับการผลักดัน
งั้นเราจะโดนกดดัน
ไม่เป็นไร.
ไปที่ GitHub และดูว่าเกิดอะไรขึ้น
เราเห็นแล้วว่าตอนนี้เรามีแถบสีเหลืองที่โผล่มาและบอกว่าคุณเพิ่งผลักกิ่งก้านสาขาออกไป
ดังนั้นถ้าฉันคลิกที่ปุ่มหน้าจอที่นี่ เปรียบเทียบ ดึง ขอ
มันแสดงให้ฉันเห็นว่าฉันเปลี่ยนแปลงอะไร ซึ่งฉันเปลี่ยนชื่อแล้ว และที่นี่ฉันสามารถบอกให้มาร์ซี่รู้ว่า
มาร์ซี่ ฉันเปลี่ยนข้อความแล้ว
คุณคิดอย่างไร?
และฉันคลิกที่สร้างคำขอดึง
และตอนนี้ฉันมี PR ของฉันแล้ว และคุณจะเห็นว่าคำขอรวมดึงที่นี่เป็นอย่างไร
ถ้าเรากลับไปที่ไดอะแกรมของฉัน ฉันได้สร้างคุณลักษณะเล็กๆ นี้แล้ว และตอนนี้ฉันกำลังพูดว่า เฮ้
มาร์ซี ฉันเพิ่งทำการเปลี่ยนแปลงใหม่นี้
คุณคิดอย่างไร?
ฉันจะรวมมันเข้ากับมาสเตอร์ได้ไหม
และสิ่งที่จะเกิดขึ้นที่นี่น่าจะเป็นไปได้มากที่สุดคือ Marcy จะมาดูคำขอดึงนี้
คุณจะเห็นว่าเราอยู่ในแท็บคำขอดึง
ดังนั้นเธอจะสามารถเห็นพวกเขาและเห็นว่า โอ้ อังเดรเพิ่งทำการเปลี่ยนแปลงนี้
เธอจะมองผ่านการเปลี่ยนแปลง
แล้วเธอก็จะบอกว่า อืม ถ้าเธอชอบแบบนี้ เธอก็อาจจะแบบ ดูดี
เธอสามารถคลิกเริ่มรีวิวได้
และคุณรู้อะไรไหม
เธอชอบสิ่งนี้หรือเธอแค่จะอนุมัติ
เอาล่ะ มาร์ซี่หรือตัวฉันเอง
โดยปกติคุณไม่ต้องการรวมคำขอพูลของคุณเอง
มีคนในทีมทำ
ตอนนี้สามารถพูดว่าผสาน
ดึง.
ขอยืนยัน
ผสาน.
และที่นั่นคุณไป
บางทีมชอบลบสาขาหลังจากนั้น คุณจึงสามารถคลิกลบได้ที่นี่
ถ้าฉันกลับไปที่รหัส
ฉันไม่มีสาขาแล้วเพราะว่าฉันเพิ่งลบไป
แต่ในเจ้านายของฉันถ้าฉันไปที่ดัชนี html ฉันเห็นนี่คือพื้นหลัง
ตอนนี้ Marci สามารถไปที่โครงการของเธอแล้วพูดว่า Get pull
และอีกครั้ง.
เธอมีการปรับปรุงล่าสุด
ทีนี้มาพูดถึงความขัดแย้งที่อาจเกิดขึ้น
สมมุติว่ามาร์ซีต้องการเปลี่ยนแปลงบางอย่าง และฉันก็เปลี่ยนสิ่งเดียวกันและเราได้รับข้อขัดแย้งในการควบรวมกิจการ
มาดูกันว่าจะเกิดอะไรขึ้น
สมมุติว่ามาร์ซีต้องการเปลี่ยนแปลง สร้างฟีเจอร์ใหม่โดยบอกว่าเราจะเรียกฟีเจอร์นี้ว่าฟีเจอร์ใหญ่อย่างหนึ่ง
และเธอจะบอกว่า เช็คเอาท์ หรือ รับสาขา
คุณสมบัติขนาดใหญ่
เธอจะพูดว่า เช็คเอาต์ใหญ่
ลักษณะเฉพาะ.
และถ้าฉันได้สาขา เราจะเห็นว่ามีสาขาใหม่ที่นี่
ให้ชัดเจนว่า
และเธอจะพูดในที่นี้ว่าเธอต้องการเปลี่ยนกลับเป็นสีพื้นหลังหรือตัวสร้างพื้นหลัง เพราะผู้ใช้ทั้งหมดบ่นว่าชื่อเปลี่ยนไปและพวกเขาชอบชื่อเก่า
เธอจึงเปลี่ยนสิ่งนั้น
เธอได้ทำการรับเพิ่มแล้ว
รับภาระผูกพัน
ย้อนกลับไปยังชื่อเรื่องเก่า
สมบูรณ์แบบ.
แล้วหล่อนจะโดนรุมกระทืบ
อ้อ ขอเคลียร์ก่อนว่าจริงไหม
และเราได้รับแรงผลักดัน
ครั้งแรกที่คุณได้รับ คุณอาจได้รับข้อผิดพลาดนี้โดยแจ้งว่าไม่มีอัปสตรีม
คุณเพียงแค่คัดลอกรหัสที่พวกเขาให้คุณที่นี่
สมบูรณ์แบบ.
ตอนนี้ถ้าฉันกลับไป
กลับไปที่เครื่องกำเนิดไฟฟ้า
ฉันเห็นคำขอดึงฟีเจอร์ขนาดใหญ่ที่นี่
และเพื่อแสดงให้คุณเห็นว่าคุณสามารถมีคอมมิตได้หลายรายการ สมมติว่า Marcy ตัดสินใจ โอ้ นี่คือฉัน
มาร์ซีตัดสินใจเพิ่มเครื่องหมายอัศเจรีย์ที่นี่
เธอพูดได้อีกครั้งว่าเธอช่วยไว้
นั่นชัดเจน
เธอจะบอกว่ารับเพิ่ม
รับภาระผูกพัน
คุณทำสิ่งนี้บ่อยมาก เพื่อที่คุณจะได้ทำงานในบริษัทได้ดีมากจริงๆ
ซักพัก แล้วเธอจะพูดว่า Added X exclamation
อ๊ะ.
ดังนั้นสิ่งที่ฉันต้องการจะทำได้รับคำมั่นสัญญา
ให้สัญญา.
เพิ่มเครื่องหมายอัศเจรีย์
และเธอจะได้รับแรงผลักดันอีกครั้ง
และขอกลับไปขอความช่วยเหลือ
หากเราพิจารณาคำขอที่ไม่ดี คำขอทั้งสองนี้จะมีการเปลี่ยนกลับเป็นชื่อเก่าและเพิ่มเครื่องหมายอัศเจรีย์
และเราเห็นที่นี่ว่าการเปลี่ยนแปลงทั้งสองสร้างคำขอดึงความต้องการเปลี่ยนแปลง
อังเดร.
ดังนั้นในขณะที่คำขอโพลนี้ออกมี
เลยตัดสินใจเปิดสาขาใหม่ชื่อ Let's just call it conflict ซะก่อน
และฉันจะตรวจสอบความขัดแย้ง
และตอนนี้อยู่ในสาขาความขัดแย้ง
ฉันตัดสินใจที่จะเปลี่ยน
นี่เป็นเพียงการลบเครื่องกำเนิดความเย็นออกอย่างสมบูรณ์
ฉันบันทึกที่?
อีกครั้ง.
ฉันตรวจสอบสถานะและดัชนีของฉัน ไฟล์ html ถูกเปลี่ยน
ดังนั้นในขณะที่สิ่งนี้กำลังเกิดขึ้น ฉันได้รับ marci เพื่อรวมเพื่อดึงคำขอ
ดังนั้นเธอจึงเข้าสู่มาสเตอร์
คำขอดึงของเธอเข้ามาแล้ว
และตอนนี้ถ้าฉันกลับไปที่ความขัดแย้งและฉันได้รับสถานะ
และเราต้องเพิ่มสิ่งเหล่านี้
รับเพิ่มแล้วรับคอมมิต
ฉันจะทำข้อความสั้น ๆ ที่นี่
เพียงแค่ตรวจสอบ
และตอนนี้ถ้าฉันกลับไปหาอาจารย์
โอ้ ฉันต้องทำ
รับการชำระเงิน มาสเตอร์อีกครั้ง
ก่อนที่ฉันจะผลักดันการเปลี่ยนแปลง ฉันต้องการตรวจสอบให้แน่ใจว่าฉันมีต้นแบบเวอร์ชันล่าสุด
ดังนั้นฉันจะไม่เปลี่ยนแปลงอะไร
ฉันจะไม่มีความขัดแย้ง
ดังนั้นฉันจะดึงข้อมูลล่าสุด
และตอนนี้ฉันไปรับเช็คเอาต์
สาขาความขัดแย้ง
และฉันสามารถทำคำสั่งนี้ได้
ผสานต้นแบบ
ฉันกำลังบอกว่ารวมทุกอย่างที่เป็นเจ้านายเข้ากับความขัดแย้ง
Marci ได้ทำงานเกี่ยวกับคุณลักษณะสำคัญนี้ และเธอก็รวมมันเข้าด้วยกัน
ดังนั้นตอนนี้ Master มีสาขาฟีเจอร์ขนาดใหญ่
ฉันได้สร้างสาขาอื่นด้วย และฉันได้ทำงานด้วยตัวเองในสาขาที่ขัดแย้งกัน
และสาขาความขัดแย้งไม่รู้อะไรเกี่ยวกับอาจารย์เลย
ฉันกำลังจะบอกว่า เฮ้ ไม่ว่าอะไรก็ตามที่อยู่ใน Master ในตอนนี้ ซึ่งรวมถึงฟีเจอร์สำคัญๆ ที่
Marci ทำงานอยู่ ดึงมันเข้ามา และทำให้แน่ใจว่าไม่มีข้อขัดแย้ง
ดังนั้นฉันจึงทำอย่างนั้น
และโอ้ฉันได้รับข้อขัดแย้งผสานและดัชนี ไฟล์ .html
ถ้าฉันคลิกที่ข้อความที่ประเสริฐจริงๆ ให้ฉันเปิดมันขึ้นมาเพื่อที่คุณจะได้มองเห็นได้ดีขึ้น
โอ้เด็ก.
ฉันได้รับไวยากรณ์เล็ก ๆ น้อย ๆ แปลก ๆ นี้
ตอนแรกมันล้นหลาม แต่ก็ง่ายที่จะดูว่าเกิดอะไรขึ้น
Head คือที่ที่สาขาของฉันอยู่ และมันแสดงให้ฉันเห็นว่าถึงจุดสิ้นสุดแล้ว ฉันไม่มี H อีกต่อไป
แต่ในสาขาหลัก เรามีตัวสร้างพื้นหลัง
ตอนนี้ฉันสามารถคุยกับมาร์ซี่แล้วพูดว่า เฮ้ มาร์ซี่ คุณต้องการเก็บชื่อตัวสร้างพื้นหลังไว้ไหม
และเธอก็จะบอกว่า ใช่ นั่นเป็นสิ่งที่ถูกต้องที่ต้องทำ
อย่าเปลี่ยนพื้นหลัง
ในกรณีนี้ ผมก็แค่ลบเส้นพวกนี้
และลบสิ่งนี้
และประหยัด
ตอนนี้ถ้าฉันได้รับ
สถานะตอนนี้.
ตกลง.
เรามีสถานะที่แก้ไขที่นี่
ขอผมทำให้มันเล็กลงอีกครั้ง เพื่อให้คุณได้เห็น
เลยขอเคลียร์เรื่องนี้
สิ่งที่เราทำตอนนี้คือเราต้องทำการ add ใหม่อีกครั้งเพราะเราได้ทำการเปลี่ยนแปลงเหล่านั้นและเราต้องทำการแก้ไขการคอมมิต
ปัญหาการรวม
และฉันก็ลืมไปว่า
ลองอีกครั้ง
และ.
แก้ไขปัญหาการรวมข้อขัดแย้ง
ให้ชัดเจนที่นี่และรับสถานะ
ไม่มีอะไรจะผูกมัด ทำงานเพื่อทำความสะอาด
และหากฉันได้รับแรงผลักดัน ฉันก็จะได้รับข้อผิดพลาดนี้อีกครั้ง
แต่ฉันต้องการแสดงให้คุณเห็นในครั้งนี้ ถ้าฉันได้รับความขัดแย้ง
ตอนนี้มันใช้งานได้
กลับไปที่ GitHub กัน
ดูว่าเรามีอะไรบ้าง
เรามีสาขาที่ขัดแย้งกัน และถ้าเราดูที่สาขาที่ขัดแย้งกันตอนนี้ ก็ไม่มีอะไรเปลี่ยนแปลง เพราะว่าฉันเพิ่งยกเลิกการเปลี่ยนแปลงทั้งหมดของฉัน
มันจึงว่างเปล่า
ไม่มีการเปลี่ยนแปลงในขณะนี้
มาร์ซี่ก็จะประมาณว่า เฮ้ คุณตั้งใจจะทำให้ PR นี้ว่างเปล่า
ดังนั้นฉันจะเห็นข้อความนี้ใน PR ของฉัน และฉันสามารถไปต่อได้
และนั่นคือเวิร์กโฟลว์ที่คุณจะเห็นใน GET
ฉันจะออกคำสั่งให้คุณหลังจากนี้
แต่คุณเห็นไหม เป็นเรื่องดีมากที่ได้ร่วมงานกับคุณ เรียนรู้คำสั่งสองสามคำสั่ง และตราบใดที่คุณมีโมเดลที่มองเห็นได้ทุกครั้งที่คุณทำงานบางอย่าง
คุณจะสร้างสาขาได้เสมอ
คุณตั้งชื่อมันด้วยฟีเจอร์ใดก็ตามที่คุณกำลังทำงานอยู่
และทุกครั้งคุณต้องการดึง master และ merge master เข้าใน branch ของคุณ เพื่อให้แน่ใจว่าคุณจะไม่พลาดการอัปเดตใดๆ
ที่นักพัฒนาหรือเพื่อนร่วมทีมคนอื่นทำ
เมื่อคุณใช้คุณลักษณะของคุณเสร็จแล้ว คุณจะส่งคำขอดึงโดยกดรับ และคำขอดึงนั้น คุณจะเพิ่มความคิดเห็นและผู้คนจะตรวจสอบการเปลี่ยนแปลงไฟล์ของคุณ
และหากพวกเขาต้องการให้คุณทำการเปลี่ยนแปลงบางอย่าง คุณก็สามารถทำได้อีกครั้ง รับ เพิ่ม รับคอมมิต
สุดท้าย ทำการเปลี่ยนแปลงของคุณ จากนั้นคุณสามารถผสาน ดึง ร้องขอได้
และเมื่อทำเสร็จแล้ว คนอื่นๆ ในทีมก็มีเจ้านายคนใหม่แล้ว
ดังนั้นทุกคนในทีมควรได้รับการดึงเช่นกัน
ต้องใช้เวลาเล็กน้อยในการทำความคุ้นเคย แต่เป็นเวิร์กโฟลว์ที่ดีจริงๆ เพื่อให้แน่ใจว่าทุกคนในทีมทำงานในไฟล์เดียวกัน
โครงการเดียวกัน โดยไม่ทำให้เกิดข้อผิดพลาดใดๆ และทำให้แน่ใจว่าทุกคนทำงานร่วมกันได้ดี
และนั่นแหล่ะ
ฉันหวังว่าคุณจะพบว่าสิ่งนี้มีประโยชน์
เจอกันใหม่ตอนหน้าค่ะ
ลาก่อน.