อะไรคือความแตกต่างระหว่างคำขอดึงและคำขอรวม
ใน Github เป็นคำขอการดึงและใน GitLab เป็นคำขอรวม ... มีความแตกต่างระหว่างทั้งสองนี้ไหม
อะไรคือความแตกต่างระหว่างคำขอดึงและคำขอรวม
ใน Github เป็นคำขอการดึงและใน GitLab เป็นคำขอรวม ... มีความแตกต่างระหว่างทั้งสองนี้ไหม
คำตอบ:
คุณลักษณะ"คำขอรวม"ของ GitLab นั้นเทียบเท่ากับคุณลักษณะ"คำขอดึง"ของ GitHub ทั้งสองวิธีเป็นการดึงการเปลี่ยนแปลงจากสาขาอื่นหรือแยกเข้าสู่สาขาของคุณและรวมการเปลี่ยนแปลงกับรหัสที่มีอยู่ของคุณ เป็นเครื่องมือที่มีประโยชน์สำหรับการตรวจสอบโค้ดและการจัดการการเปลี่ยนแปลง
บทความจาก GitLabกล่าวถึงความแตกต่างในการตั้งชื่อสถานที่ที่ต้องการ:
ผสานหรือดึงคำขอถูกสร้างขึ้นในแอปพลิเคชันการจัดการคอมไพล์และขอให้ผู้ที่ได้รับมอบหมายผสานสองสาขา เครื่องมือเช่น GitHub และ Bitbucket เลือกคำขอดึงชื่อเนื่องจากการดำเนินการด้วยตนเองครั้งแรกจะเป็นการดึงสาขาคุณลักษณะ เครื่องมือเช่น GitLab และ Gitorious เลือกคำขอรวมชื่อเนื่องจากเป็นการกระทำขั้นสุดท้ายที่ร้องขอของผู้รับโอน ในบทความนี้เราจะอ้างถึงพวกเขาเป็นคำขอรวม
"คำขอรวม" ไม่ควรสับสนกับgit merge
คำสั่ง ไม่ควร "ดึงคำขอ" จะสับสนกับgit pull
คำสั่ง git
คำสั่งทั้งสองถูกใช้หลังฉากในคำขอการดึงและคำขอรวม แต่คำขอผสาน / ดึงอ้างถึงหัวข้อที่กว้างกว่าเพียงแค่สองคำสั่ง
พวกเขาเป็นคุณสมบัติเดียวกัน
ผสานหรือดึงคำขอถูกสร้างขึ้นในแอปพลิเคชันการจัดการคอมไพล์และขอให้ผู้ที่ได้รับมอบหมายผสานสองสาขา เครื่องมือเช่น GitHub และ Bitbucket เลือกคำขอดึงชื่อเนื่องจากการดำเนินการด้วยตนเองครั้งแรกจะเป็นการดึงสาขาคุณลักษณะ เครื่องมือเช่น GitLab และ Gitorious เลือกคำขอรวมชื่อเนื่องจากเป็นการกระทำขั้นสุดท้ายที่ร้องขอของผู้รับโอน ในบทความนี้เราจะอ้างถึงพวกเขาเป็นคำขอรวม
ในมุมมองของฉันพวกเขาหมายถึงกิจกรรมเดียวกัน แต่จากมุมมองที่แตกต่างกัน:
ลองคิดถึงเรื่องนี้อลิซให้คำมั่นสัญญากับ repository A ซึ่งแยกจากที่เก็บของ Bob
เมื่ออลิซต้องการ "รวม" การเปลี่ยนแปลงของเธอเป็น B จริง ๆ แล้วเธอต้องการให้บ๊อบ "ดึง" การเปลี่ยนแปลงเหล่านี้จาก A
ดังนั้นจากมุมมองของอลิซจึงเป็น "คำขอรวม" ในขณะที่บ๊อบมองว่าเป็น "คำขอดึง"
มีความแตกต่างเล็กน้อยในแง่ของการจัดการความขัดแย้ง ในกรณีที่มีข้อขัดแย้งคำขอการดึงใน Github จะส่งผลให้เกิดการรวมกับสาขาปลายทาง ใน Gitlab เมื่อพบข้อขัดแย้งการแก้ไขที่ทำจะเป็นการรวมที่กระทำกับสาขาต้นทาง
ดูhttps://docs.gitlab.com/ee/user/project/merge_requests/resolve_conflicts.html
"GitLab แก้ไขข้อขัดแย้งด้วยการสร้างการรวมการกระทำในสาขาต้นทางที่ไม่ได้รวมเข้ากับสาขาเป้าหมายโดยอัตโนมัติซึ่งจะช่วยให้การตรวจสอบการผสานได้รับการตรวจสอบและทดสอบก่อนที่การเปลี่ยนแปลงจะถูกผสานป้องกันการเปลี่ยนแปลงที่ไม่ตั้งใจ การสร้าง "
GitLab 12.1 (กรกฎาคม 2019) แนะนำความแตกต่าง:
" รวมคำขอสำหรับปัญหาที่เป็นความลับ "
เมื่อพูดคุยวางแผนและแก้ไขปัญหาที่เป็นความลับเช่นช่องโหว่ด้านความปลอดภัยอาจเป็นเรื่องที่ท้าทายอย่างยิ่งสำหรับโครงการโอเพ่นซอร์สที่จะคงประสิทธิภาพเนื่องจากพื้นที่เก็บข้อมูล Git เป็นแบบสาธารณะ
ตั้งแต่ 12.1 ถึงตอนนี้เป็นไปได้สำหรับปัญหาที่เป็นความลับในโครงการสาธารณะที่จะแก้ไขภายในเวิร์กโฟลว์ที่มีความคล่องตัวโดยใช้ปุ่มสร้างคำขอผสานความลับซึ่งช่วยให้คุณสร้างคำขอผสานในทางแยกส่วนตัวของโครงการ
โปรดดูที่ " ประเด็นที่เป็นความลับ " จากปัญหา 58583
มีคุณลักษณะที่คล้ายกันใน GitHub แต่เกี่ยวข้องกับการสร้างส้อมส่วนตัวแบบพิเศษเรียกว่า " คำแนะนำด้านความปลอดภัยของผู้ดูแล "
ดังที่กล่าวไว้ในคำตอบก่อนหน้าทั้งสองตอบสนองวัตถุประสงค์เดียวกันเกือบ โดยส่วนตัวแล้วฉันชอบ git rebase และ merge request (เหมือนใน gitlab) ต้องใช้ภาระจากผู้ตรวจสอบ / ผู้ดูแลตรวจสอบให้แน่ใจว่าในขณะที่เพิ่มคำขอผสานสาขาคุณลักษณะรวมถึงการกระทำล่าสุดที่ทำในสาขาหลักหลังจากสร้างฟีเจอร์สาขาแล้ว นี่คือบทความที่มีประโยชน์มากที่อธิบายการลดระดับโดยละเอียด: https://git-scm.com/book/en/v2/Git-Branching-Rebasing