ลบ repo ที่มีการแยกจาก GitHub


635

ฉันเริ่มต้นด้วย git และ GitHub และมีโครงการที่ฉันดูบน GitHub ฉันคลิกโดยไม่ตั้งใจเพื่อแยกมัน ตอนนี้มันดูเหมือนเป็นโครงการใหม่สำหรับฉัน

ฉันมีข้อสงสัยเกี่ยวกับมัน

  • ฉันรู้ว่าการกระทำหรือทำสิ่งอื่น ๆ กับ repo ที่แยกจากกันของฉันนั้นจะได้รับการอัปเดต แต่รหัสที่อัปเดตจะมีผลเฉพาะหลังจากผู้สร้างโครงการร้องขอการดึง ขวา?
  • ถ้าฉันไปที่แผง admin บน GitHub มีตัวเลือกลบ หากฉันลบมันเป็นตัวเลือกด้านบนจะมีผลกระทบกับสิ่งเดิมหรือไม่?

ฉันต้องการลบ ถึงตอนนี้ฉันแค่ศึกษารหัสและไม่จำเป็นต้องใช้ส้อม


23
ในการชี้แจงคำศัพท์เกี่ยวกับคำขอดึง: คุณทำการเปลี่ยนแปลงและขอให้ผู้เขียนดึงการเปลี่ยนแปลงนั้นลงในที่เก็บของพวกเขา คุณขอและผู้เขียนดึง
Douglas Hill

คำตอบ:


313

การลบมันจะไม่ทำอะไรกับโครงการดั้งเดิม การแก้ไขจะแก้ไขเพียงส้อมของคุณบนหน้า repo ของคุณ


115
มันจะเป็นข้อผิดพลาดด้านความปลอดภัยที่น่ากลัวถ้าคุณสามารถส่งผลกระทบต่อโครงการของคนอื่นโดยการฟอร์กแล้วลบทางแยก
Keith Thompson

10
จะเกิดอะไรขึ้นหากโครงการต้นฉบับถูกลบ ส้อมของฉันจะยังใช้งานได้หรือไม่ มันจะถูกลบเช่นกัน?
unom

12
@unmircea ใช่ส้อมของคุณจะยังทำงาน: มันจะไม่สามารถรวม "upstream"
บิชอป

11
ฉันเห็น. อีกหนึ่งคำถามที่รวดเร็ว เมื่อฉันแยกโครงการจะเกิดอะไรขึ้นเมื่อโครงการเริ่มต้นได้รับการอัปเดตและอื่น ๆ มันไหลโดยอัตโนมัติหรือไม่?
unom

10
@unmircea ไม่คุณมีการเปลี่ยนแปลงจากโครงการต้นฉบับ
Conner

1151

วิธีที่ง่ายที่สุดคือการลงชื่อเข้าใช้บัญชี gitHub:

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

2020-01-15 - นี่คือภาพ สนุก. GHD1


GHD2
GHD3
GHD4



5
มีคำแนะนำใหม่ ๆ อยู่ที่นี่: help.github.com/articles/deleting-a-repository
Pacerier

1
เยี่ยมมากฉันไม่พบตัวเลือกการลบที่ใดก็ได้เพียงแค่มองหา GitHub! (ผมไม่ได้ตรวจสอบว่าหน้าจอที่ถูกต้องคำอธิบายข้อความที่มีความชัดเจนและง่ายต่อการเก็บได้ถึงวัน)
Danio

ฉันจะลบสาขาแพทช์ที่สร้างขึ้นจากการกระทำใด ๆ ได้อย่างไร? ตอนแรกฉันมีปริญญาโทเท่านั้นและตอนนี้ฉันเห็นว่ามีหลายสาขาเช่น patch-1, patch-2 เป็นต้น ฉันไม่ต้องการลบพื้นที่เก็บข้อมูลทั้งหมดยกเว้นเฉพาะสาขายกเว้นสาขาหลัก
RBT

1
สวัสดี @RBT ทำใน repo ท้องถิ่นของคุณทำgit fetch --allและgit pull -allในสาขาหลักของคุณแล้วทำสำหรับแต่ละสาขาทำเช่นgit push origin --delete <branch_name>นี้จะลบสาขาระยะไกลของคุณ แจ้งให้เราทราบหากคุณต้องการความช่วยเหลือเพิ่มเติม
Matija

22

เพียงลบ repo ที่ถูกแยกออกจากบัญชี GitHub ของคุณ

https://help.github.com/articles/deleting-a-repository/

  • ถ้าฉันไปที่แผง admin บน GitHub มีตัวเลือกลบ หากฉันลบมันเป็นตัวเลือกด้านบนจะมีผลกระทบกับสิ่งเดิมหรือไม่?

มันจะไม่ทำการเปลี่ยนแปลงใด ๆ ในต้นฉบับ; เพราะมันเป็น repo ของคุณตอนนี้


12

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

1) คุณแยกที่เก็บ แค่คิดว่านี่เป็นสำเนาของรหัสอื่นที่คุณสามารถเข้าถึงหรือเปลี่ยนแปลงได้ URL https://github.com/your-user-name/original-repoของพื้นที่เก็บข้อมูลนี้จะอยู่ในรูปแบบ

2) คุณทำการเปลี่ยนแปลงบางอย่างกับสิ่งนั้นในเครื่องท้องถิ่นของคุณและผลักดันมัน ตอนนี้สำเนาที่คุณสร้างขึ้นจะได้รับการอัปเดต แต่ไม่ใช่ต้นฉบับที่คุณเก็บเรคคอร์ดไว้

3) หากคุณต้องการให้การเปลี่ยนแปลงที่คุณเพิ่มไปยัง repo แยกของคุณถูกนำไปใช้กับ repo ดั้งเดิม (ซึ่งอาจเป็นประโยชน์กับคนที่กำลังจัดระเบียบ repo) คุณต้องสร้างสิ่งpull requestที่คุณสามารถทำได้ผ่าน UI จากนั้นหากพวกเขาชอบการมีส่วนร่วมของคุณพวกเขาจะทำอย่างmergeนั้นด้วยรหัส

โดยทั่วไปนี่คือสิ่งที่องค์กรโอเพนซอร์สทำ


9

หวานและเรียบง่าย:

  1. เปิดที่เก็บ
  2. นำทางไปยังการตั้งค่า
  3. เลื่อนไปที่ด้านล่างของหน้า
  4. คลิกที่ลบ
  5. ยืนยันชื่อของที่เก็บที่จะลบ
  6. คลิกที่ลบ

7

การลบที่เก็บที่ถูกแยกของคุณจะไม่มีผลกับที่เก็บต้นแบบ (ต้นฉบับ)

เช่นฉันได้แสดงตัวอย่างโดยการลบ repo ที่มีการแยก

นี่คือ repo ของฉันที่แยกกัน (ภาพ)

การลบธุรกรรมซื้อคืนที่มีการแยก

และไม่มีการเปลี่ยนแปลงไปยังที่เก็บต้นฉบับ

repo หลักเป็นสิ่งที่เหมือนต้นฉบับ

ทางแยกเช่นเดียวกับการสร้างสำเนาซีร็อกซ์ของต้นฉบับ แม้ว่าคุณจะได้รับเอกสารซีร็อกซ์ของคุณเสียหายก็ตามเอกสารต้นฉบับจะได้รับความเสียหายหรือไม่ เห็นได้ชัดว่าไม่มี

ดังนั้นมันจึงเป็นเช่นนั้น

หวังว่านี่จะช่วยได้




3

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

แค่อยากจะเพิ่มสิ่งนี้

คำเตือน: มันจะลบการกระทำในท้องถิ่นและสาขาที่คุณสร้างขึ้นบน repo ของคุณ ดังนั้นก่อนที่จะลบตรวจสอบให้แน่ใจว่ามีการสำรองข้อมูลของรหัสนั้นกับคุณหากมีความสำคัญ

วิธีที่ดีที่สุดจะได้รับการสำรองข้อมูลคอมไพล์ของ repo แยกโดยใช้:

git bundle 

หรือวิธีการอื่น ๆ ที่คุ้นเคย


1

ไม่จะไม่มีผลกับที่เก็บต้นฉบับของคุณเพียงตรวจสอบให้แน่ใจว่าที่อยู่ repo นั้นดูเหมือน "youGitName / TheRepository" และไม่เหมือนกับ "OtherPersonGitName / TheRepo"


0

ฉันยังประสบปัญหานี้ ไม่มันจะไม่ส่งผลกระทบต่อ repo ดั้งเดิมของคุณ เพียงแค่ลบออกโดยป้อนชื่อ repo ที่ถูกแยก


0

มีคำตอบหลายข้อที่ชี้ให้เห็นว่าการแก้ไข / ลบส้อมไม่ส่งผลกระทบต่อที่เก็บต้นฉบับ คำตอบเหล่านั้นถูกต้อง ฉันจะพยายามเพิ่มสิ่งที่คำตอบนั้นและอธิบายว่าทำไมในคำตอบของฉัน

ส้อมเป็นเพียงสำเนาของที่เก็บที่มีความสัมพันธ์แยก

เนื่องจากคุณสามารถคัดลอกไฟล์หรือไดเรกทอรีในเครื่องไปที่อื่นแล้วลบสำเนามันจะไม่ส่งผลกระทบต่อต้นฉบับ

ความสัมพันธ์ของ Fork หมายถึงคุณสามารถบอก github ได้อย่างง่ายดายว่าควรส่งคำขอ pull (ด้วยการเปลี่ยนแปลงของคุณ) จาก fork ของคุณไปยังที่เก็บต้นฉบับเนื่องจาก github รู้ว่าที่เก็บของคุณเป็นสำเนาของที่เก็บต้นฉบับ )

สำหรับข้อมูลใด ๆ ของร่างกายคำขอดึง (หรือคำขอรวม) มีรหัสที่มีการเปลี่ยนแปลงในทางแยกและถูกส่งไปยังที่เก็บต้นฉบับ ผู้ใช้ที่มีการเข้าถึงแบบพุช / เขียน (อาจแตกต่างกันในเซิร์ฟเวอร์ git อื่น) บนที่เก็บต้นฉบับได้รับอนุญาตให้รวมการเปลี่ยนแปลงของคำขอดึงเข้าสู่ที่เก็บต้นฉบับ (คัดลอกการเปลี่ยนแปลง PR ไปยังที่เก็บต้นฉบับ)

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