ฉันควรเก็บที่เก็บ GitHub ของฉันแยกจากกันไปเรื่อย ๆ หรือไม่?


314

ดังนั้นฉันจึงแยกที่เก็บของคนอื่นทำการเปลี่ยนแปลงเล็กน้อยส่งคำขอการดึงและการเปลี่ยนแปลงของฉันทำให้มันเป็นผลิตภัณฑ์ ที่ดี!

แต่ ... ฉันควรทำอย่างไรกับที่เก็บแบบแยก มีเหตุผลที่น่าสนใจสำหรับฉันที่จะเก็บที่เก็บของฉันไปรอบ ๆ หรือฉันควรจะไปข้างหน้าและลบมันได้หรือไม่ ฉันไม่ได้วางแผนที่จะมีส่วนร่วมเพิ่มเติม แต่ถ้าฉันเปลี่ยนใจฉันถือว่าฉันสามารถแยกมันได้เสมอ

ฉันไม่ได้กังวลเกี่ยวกับการสำรองข้อมูล ฉันกังวลมากขึ้นเกี่ยวกับการแบ่งลิงก์สูญเสียการส่งข้อความ ฯลฯ


80
โปรดลบออกมิฉะนั้น Github จะไม่ใช้แฮช
Armand

3
รหัสซ้ำกันเป็นสิ่งชั่วร้าย และนั่นก็ข้ามขอบเขตของคอมไพล์
stijn

7
@stijn - ฉันอ่านสิ่งนี้เป็น "สำเนาสำรอง" มากกว่า "ทำซ้ำ" และฉันไม่คิดว่าฉันเคยได้ยินใครเถียงรหัสสำรองข้อมูลที่เป็นความชั่วร้าย ...
Beekguk

3
ลบมัน. ท้ายที่สุดคุณสามารถดาวน์โหลดสถานะล่าสุด (ซึ่งเป็นสถานะที่คุณต้องการใช้งานต่อไป) จาก repo โครงการ
โกง

จะเกิดอะไรขึ้นถ้า repo ดั้งเดิมถูกลบและไม่มีใครเหลือ จะได้รับการเข้าถึง repo / fork ในกรณีนั้นได้อย่างไร?
Kromster

คำตอบ:


40

การลบที่เก็บแบบแยกจะลบประวัติออกจากคำขอการดึงของคุณ

PR พร้อมที่เก็บที่ไม่รู้จัก

การลบที่เก็บแบบแยกจะลบข้อมูลใด ๆ ที่เกี่ยวข้องกับที่เก็บของคุณ สิ่งนี้สามารถส่งผลย้อนหลังการอ้างอิงใด ๆ ไปยังที่เก็บของคุณรวมถึงคำขอดึงที่ได้รับการผสานแล้ว (ดูคำขอดึงแสดงเป็น "ไม่รู้จัก repo" หลังจากลบส้อม )

ความคิดเห็นและข้อผูกพันของคุณควรได้รับการเก็บรักษาไว้ในคำขอดึงใด ๆ ที่เกี่ยวข้องกับที่เก็บของคุณ แต่คุณต้องยอมรับความเสี่ยงเอง

อย่างไรก็ตามการลบสาขาเก่าหลังจากการผสานมีความปลอดภัยอย่างสมบูรณ์แบบ

ในขณะที่การลบที่เก็บควรหลีกเลี่ยงการลบสาขาที่ไม่ได้ใช้เป็นที่ยอมรับอย่างสมบูรณ์ ในความเป็นจริงGitHub ขอให้คุณลบสาขาเก่า

จัดเก็บหลังจากดึงคำขอ

ที่ GitHub เราชอบใช้คำขอดึงตลอดวันทุกวัน ปัญหาเดียวคือเราจบด้วยสาขาที่หมดอายุจำนวนมากหลังจากคำขอถอนเงินถูกรวมหรือปิด ในบางครั้งเราหนึ่งคนจะล้างสาขาเหล่านี้ด้วยสคริปต์ แต่เราคิดว่าจะเป็นการดีกว่าที่จะดูแลขั้นตอนนี้ซึ่งเป็นส่วนหนึ่งของขั้นตอนการทำงานปกติของเราบน GitHub.com

เริ่มตั้งแต่วันนี้หลังจากที่มีการดึงคำขอมารวมเข้าด้วยกันคุณจะเห็นปุ่มเพื่อลบสาขาที่เอ้อระเหย:

ลบปุ่มสาขานี้

หากคำขอดึงข้อมูลถูกปิดโดยไม่ถูกผสานปุ่มจะมีลักษณะแตกต่างกันเล็กน้อยเพื่อเตือนคุณเกี่ยวกับการลบการยืนยันที่ยังไม่ได้ดำเนินการ:

ลบสาขาด้วยคำเตือน

แน่นอนคุณสามารถลบสาขาในที่เก็บที่คุณมีการเข้าถึงแบบพุชเท่านั้น

เพลิดเพลินไปกับคลังเก็บที่เป็นระเบียบของคุณ!

อีกวิธีหนึ่งถ้าคุณไม่ต้องการเก็บไว้ใกล้ ๆ คุณสามารถเก็บที่เก็บถาวรเพื่อระบุว่าไม่มีการเก็บรักษาไว้อย่างแข็งขันอีกต่อไป

ดูสิ่งนี้ด้วย


1
จะเกิดอะไรขึ้นกับคำขอดึงปิดที่ยังไม่ได้ทำการฝังเมื่อคุณลบสาขา (กรณีที่สองในบทความที่ยกมา)? คอมมิชชันจะยังคงมีอยู่ในคำขอดึงโดยไม่มีประวัติหรือจะหายไปอย่างสมบูรณ์หรือไม่?
พิมพ์ผิด


207

หากคำขอการดึงของคุณได้รับการยอมรับและคุณไม่ได้ทำการเปลี่ยนแปลงใด ๆ ที่คุณอาจใช้เป็นการส่วนตัวคุณควรลบออก

  1. การลบจะไม่ทำอันตรายอะไรเลย
  2. คุณสามารถ refork ได้ตลอดเวลาหากต้องการ
  3. มันลด repos ที่ไร้ประโยชน์ในผลการค้นหาเมื่อผู้คนกำลังค้นหาบางอย่าง
  4. ถ้าคุณใช้ GitHub เป็นเรซูเม่สำหรับงาน / สัญญาที่อาจเกิดขึ้นมันจะดูดีกว่าถ้าคุณไม่มี repos แยกกันหลายสิบที่คุณไม่ได้ทำงานอยู่ คุณจะมีประสิทธิภาพมากขึ้น
  5. ช่วยให้สติของคุณเองเมื่อคุณไม่ต้องผ่าน repos ไร้ประโยชน์นับร้อย
  6. มันดีกว่าสำหรับ GitHub :)

50
ข้อเสียเพียงอย่างเดียวคือคำขอดึงจะแสดง "รวมคอมมิทคอมมิชชัน <commit> เข้า<repo>จากunknown repositoryในวันที่ <date>" ซึ่งค่อนข้างแปลก
PLPeeters

18
@PLPeeters ที่จริงแล้วมันเป็นข้อเสียที่ค่อนข้างใหญ่
Pacerier

4
ฉันขอแนะนำให้ใช้remove-github-forksเพื่อ "ลบส้อมทั้งหมดที่ไม่มีข้อผูกพันที่ไม่ได้อยู่ในที่เก็บหลัก" ทำงานเหมือนจับใจ
Fregante

3
@SteveMoser ฉันอาจจะผิด แต่ฉันคิดว่าคุณยังคงรักษารายการ "Repositories ที่คุณให้ไว้" ฉันมีหนึ่งฉันลบทุกการเชื่อมต่อระหว่างและมันยังคงอยู่ที่นั่นอย่างใด แต่อาจจะเป็นความบังเอิญ: P
Mark Pieszak - Trilon.io

17
ฉันรับความเสี่ยงและลบพื้นที่เก็บข้อมูลที่มีการแยกส่วนและรายการที่สนับสนุนของฉันไม่ได้รับผลกระทบดังนั้นฉันสามารถพูดได้อย่างปลอดภัยว่าการลบ repo ที่มีการแยกจะไม่ส่งผลกระทบต่อเครดิตการบริจาคของคุณ
Amin Mohamed Ajani

76

คุณสามารถลบทางแยกของคุณทันทีที่คุณส่งคำขอดึงโดยไม่คำนึงว่ามันถูกผสานหรือไม่ GitHub เก็บ PRs ทั้งหมดในพื้นที่เก็บข้อมูลต้นน้ำซึ่งหมายถึงการเปลี่ยนแปลงที่เสนอจะถูกติดตามแม้ว่าจะลบทางแยก

ทำให้การตัดสินใจง่ายขึ้น

คุณยังอาจต้องการแยกทางถ้า:

  • คุณจะมีส่วนร่วมมากขึ้นในทันที (เช่นขยาย PR ที่มีอยู่หรือเปิด PR ใหม่)

คุณอาจต้องการลบทางแยกถ้า:

  • คุณต้องการผลงานที่สะอาดของโครงการภายใต้ชื่อของคุณ

7
"คุณสามารถลบทางแยกของคุณทันทีที่คุณส่งคำขอดึงของคุณ" นี่คือสิ่งที่ฉันกำลังมองหา!
Unnawut

ฉันเช่นกัน แต่คำตอบเริ่มต้นด้วย "หากคำขอการดึงของคุณได้รับการยอมรับ ... " คุณลองมันหรือไม่: D
Legends

4
คำเตือน : เมื่อคุณลบทางแยกของคุณชื่อสาขาดั้งเดิมจะถูกลบออกจากคำขอดึงที่ค้างอยู่ ( Stevoisiak ต้องการรวม 1 มุ่งมั่นDrugoy:masterจากunknown repository )
Stevoisiak

20

ฉันอาจจะ tar / gzip และใส่ dir เก็บถาวรแล้วลบ 3 ปีต่อมา ;) สุจริตหากคุณไม่ได้ตั้งใจที่จะทำงานกับมันอีกครั้งในอีกไม่กี่เดือนข้างหน้าและไม่ได้ใช้งานในขณะที่ฉันคิดว่ามันจะปลอดภัยที่จะลบมัน


9

เพียงเพิ่มคำตอบที่ให้ไว้ - GitHub แนะนำให้ลบ ("จัดเก็บ") ที่เก็บที่แยกกันหลังจากที่รวมเข้าด้วยกัน

สามารถทำได้ในคำขอดึงหลังจากผสาน - โปรดดูโพสต์บล็อกนี้

นอกจากนี้ ณ ขณะนี้ฉันไม่เห็นข้อเสียใด ๆ ที่สังเกตเห็นในความคิดเห็น:

  • แม้หลังจากการลบที่เก็บที่ถูกแยกมีข้อความที่ถูกต้องในคำขอดึง (ไม่มี "ที่เก็บที่ไม่รู้จัก")
  • พื้นที่เก็บข้อมูลที่คุณมีส่วนร่วมยังคงอยู่ในกิจกรรมการบริจาคของคุณ
  • คุณยังคงอยู่ในรายการผู้มีส่วนร่วมของที่เก็บ

ฉันจะไม่แนะนำให้ลบมันก่อนที่จะรวมตามที่แนะนำโดย @Dennis เนื่องจากคุณอาจยังต้องทำการแก้ไขรหัสหากผู้เขียนร้องขอ


2
unknown repositoryฉันเพิ่งลบที่เก็บคดเคี้ยวและขอดึงในขณะนี้กล่าวว่า โอ้ดี
Krassi

10
ลิงก์ของคุณไปที่บทความอธิบายวิธีลบสาขาหลังจากการรวม PR ที่ประสบความสำเร็จ คำถามนี้ แต่ถามเกี่ยวกับการลบพื้นที่เก็บข้อมูล คุณจะสังเกตเห็น "พื้นที่เก็บข้อมูลที่ไม่รู้จัก" เมื่อคุณลบโครงการแยกของคุณเอง ( พื้นที่เก็บข้อมูล )
stakx

2
คำถามเกี่ยวกับการลบทางแยกไม่ใช่สาขา
Andy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.