ฉันจะเปลี่ยนชื่อพื้นที่เก็บข้อมูลบน GitHub ได้อย่างไร


317

ฉันต้องการเปลี่ยนชื่อหนึ่งในที่เก็บของฉันบน GitHub แต่ฉันกลัวเมื่อมีคำเตือนสีแดงขนาดใหญ่พูดว่า:

  1. เราจะไม่ตั้งค่าการเปลี่ยนเส้นทางจากตำแหน่งเดิม
  2. คุณจะต้องอัปเดตที่เก็บข้อมูลในเครื่องของคุณเพื่อให้ชี้ไปยังตำแหน่งใหม่
  3. การเปลี่ยนชื่ออาจใช้เวลาสักครู่ก่อนจะเสร็จสมบูรณ์

ไม่มีใครมีคำแนะนำทีละขั้นตอนเกี่ยวกับวิธีการ # 1 และ # 2 ด้วยตนเอง? หรือฉันต้องทำอะไรในพื้นที่


7
คุณไม่จำเป็นต้องอัปเดตโลคอลของคุณอีกต่อไปหลังจากการเปลี่ยนชื่อ repo Github ดูคำตอบของฉันด้านล่าง
VonC

2
บน Bitbucket คุณไปที่การตั้งค่าที่เก็บและเปลี่ยนชื่อจากนั้นในคอมพิวเตอร์ของคุณให้เปลี่ยนใน.git/configไฟล์
aliteralmind

1
เปิด Repo -> Settings -> Rename
Kanagavelu Sugumar

คำตอบ:


339

หากคุณเป็นคนเดียวที่ทำงานในโครงการไม่ใช่ปัญหาใหญ่เพราะคุณต้องทำ # 2

สมมติว่าชื่อผู้ใช้ของคุณและโครงการของคุณเรียกว่าsomeusersomeproject

จากนั้น URL โครงการของคุณจะเป็น1

git@github.com:someuser/someproject.git

หากคุณเปลี่ยนชื่อโครงการของคุณจะเปลี่ยนsomeprojectส่วนของ URL เช่น

git@github.com:someuser/newprojectname.git

(ดูเชิงอรรถหาก URL ของคุณไม่เป็นเช่นนี้)

สำเนาการทำงานของคุณ Git ใช้ URL นี้เมื่อคุณทำหรือpushpull

ดังนั้นหลังจากที่คุณเปลี่ยนชื่อโครงการแล้วคุณจะต้องบอกให้ที่ทำงานของคุณคัดลอก URL ใหม่

คุณสามารถทำได้ในสองขั้นตอน:

อันดับแรกcdไปที่ไดเรกทอรี Git ในพื้นที่ของคุณและค้นหาชื่อระยะไกลที่อ้างถึง URL นั้น:

$ git remote -v
origin  git@github.com:someuser/someproject.git

จากนั้นตั้งค่า URL ใหม่

$ git remote set-url origin git@github.com:someuser/newprojectname.git

หรือใน Git รุ่นเก่าคุณอาจต้อง:

$ git remote rm origin
$ git remote add origin git@github.com:someuser/newprojectname.git

( originเป็นชื่อรีโมตทั่วไป แต่อาจเรียกชื่ออย่างอื่น)

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

อ่านเพิ่มเติม:

เชิงอรรถ:

1 รูปแบบที่แน่นอนของ URL ของคุณขึ้นอยู่กับโปรโตคอลที่คุณใช้เช่น


ขอบคุณสำหรับการตอบกลับของคุณ! สำหรับ # 1 ฉันไม่มีเว็บเพจที่เชื่อมโยงไปยัง repo ดังนั้นฉันปลอดภัยหรือไม่ สำหรับ # 2 เกิดอะไรขึ้นที่นั่นอย่างแน่นอน ขอบคุณ!
22911 rabbid เมื่อ

ฉันได้เพิ่มข้อมูลเพิ่มเติมเกี่ยวกับรีโมทที่ควรช่วย
มิเคล

1
เอาต์พุตของฉันgit remote -vอยู่ในรูปแบบgit@github.com:someuserสแลชฟอร์เวิร์ดที่คุณวางไว้ที่นี่ไม่ทำงานสำหรับฉัน แม้ว่าทุกอย่างอื่นที่นี่ทำ แต่
Droogans

ขอบคุณ แก้ไขแล้ว. ฉันยังต้องหาวิธีพูดถึง https และ git URL
มิเคล

3
สิ่งนี้จะส่งผลต่อสถิติของสมาชิกซื้อคืนเช่นจำนวนดาวหรือไม่
Alex Naspo

132

โปรดทราบว่าตั้งแต่พฤษภาคม 2013 ("การเปลี่ยนเส้นทาง Repository มาถึงแล้ว! ") คุณสามารถเปลี่ยนชื่อ GitHub repo ของคุณโดยไม่ทำให้ลิงก์เสียหาย:

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

เป็นโบนัสพิเศษ นอกจากนี้เรายังจะได้รับบริการทั้งหมดโคลน Git ดึงและผลักดันการร้องขอจากสถานที่เก็บก่อนหน้านี้

ซึ่งหมายความว่าคุณไม่จำเป็นต้องgit remote set-url(เปลี่ยน URL ของ repo GitHub ระยะไกลของคุณ) ใน repo ที่ลอกแบบมาในท้องถิ่นของคุณ!
แม้ว่ากาเบรียลจะจดบันทึกในคอมเม้นต์ที่ว่าหน้าช่วยเหลืออย่างเป็นทางการของ GitHubขอแนะนำให้คุณทำดังนี้:

เพื่อลดความสับสนเราขอแนะนำให้อัปเดตโคลนท้องถิ่นใด ๆ ที่มีอยู่ให้ชี้ไปที่ URL ที่เก็บใหม่ คุณสามารถทำได้โดยใช้ git remote ในบรรทัดคำสั่ง:

git remote set-url origin new_url

ระวัง แต่:

ไซต์ GitHub Pagesจะไม่ถูกเปลี่ยนเส้นทางโดยอัตโนมัติเมื่อมีการเปลี่ยนชื่อที่เก็บของพวกเขาในเวลานี้
การเปลี่ยนชื่อที่เก็บเพจจะยังคงทำลายลิงก์ที่มีอยู่ใด ๆ ไปยังเนื้อหาที่โฮสต์บนgithub.ioโดเมนหรือโดเมนที่กำหนดเอง

นอกจากนี้ผู้ใช้ยังคงเป็นเจ้าของเนมสเปซ : หากเขา / เธอสร้างrepo ใหม่โดยใช้ชื่อเก่าของ repo ที่เปลี่ยนชื่อการเปลี่ยนเส้นทางนั้น (สำหรับ repo ที่เปลี่ยนชื่อดังกล่าว) จะหยุดทำงาน


4
สิ่งนี้มีประโยชน์จริง ๆ แต่ในตอนแรกสับสนมากเมื่อเปลี่ยนชื่อไม่ทำลายกิจกรรมการดึง / การดึงของฉัน ตอนนี้ฉันสามารถเปลี่ยนชื่อได้ทันทีและให้ทุกคนทราบเพื่ออัปเดตที่เก็บของพวกเขาโดยใช้set-urlก่อนวันที่ที่แน่นอน หลังจากวันที่นั้นฉันจะทุบ repo ชื่อเก่าด้วยการสร้างไฟล์เปล่าด้วยไฟล์ readme "I WARNED U" ที่ดี
cod3monk3y

โปรดทราบว่าแม้ว่าคุณไม่จำเป็นต้องใช้git remote set-urlการอัพเดตโลคัลโคลนที่มีอยู่เพื่อชี้ไปยัง URL ที่เก็บใหม่ แต่ก็ขอแนะนำอย่างยิ่งให้คุณทำ
กาเบรียล

61

ฉันเปลี่ยนชื่อตัวเองเพียงแค่:

  1. ไปที่ github.com บนที่เก็บของฉัน
  2. เปิดแท็บการตั้งค่า
  3. การตั้งค่าแรกที่คุณเห็นคือ "ชื่อที่เก็บ"
  4. เปลี่ยนชื่อจริงและใส่ชื่อใหม่ที่คุณต้องการให้กับที่เก็บของคุณ
  5. คลิกที่เปลี่ยนชื่อ

หลังจากขั้นตอนนี้ GitHub จะตรวจสอบให้แน่ใจว่าที่เก็บออนไลน์ของคุณตรงกับชื่อโฟลเดอร์ท้องถิ่นของคุณ ในขั้นตอนนี้ปัญหาของคุณจะได้รับการแก้ไขเว้นแต่คุณต้องการเปลี่ยนชื่อโฟลเดอร์ในเครื่องของคุณ จากนั้นทำด้วยตนเองและใช้ Github ไคลเอ็นต์สำหรับ windows เพื่อ refind อีกครั้งที่เก็บข้อมูลของคุณในฮาร์ดไดรฟ์ของคุณและ Github จะจับคู่อีกครั้ง นั่นคือทั้งหมด! ง่ายมาก.


1
มันยอดเยี่ยมมากไม่เพียง แต่คำตอบที่ได้รับการโหวตอย่างสูงที่นี่ แต่หน้าช่วยเหลือใน github.com ช่วยให้ขั้นตอนการเปลี่ยนชื่อบน github.com ผ่านแท็บการตั้งค่า
user3673

16

วิธีที่ง่ายที่สุดที่ฉันพบ

  1. ไปที่ลิงก์ repo ของคุณเช่น: - https://github.com/someuser/someRepo.git

  2. คลิกที่แท็บการตั้งค่า

ป้อนคำอธิบายรูปภาพที่นี่

สิ่งแรกที่คุณเห็นคือชื่อ repo ของคุณคุณสามารถแก้ไขได้

หมายเหตุ: - ถ้าคุณลอกแบบ repo แบบโลคอลให้เปลี่ยนชื่อโฟลเดอร์ด้วยตนเองนั่นคือทั้งหมด


10

ฉันเห็นการตอบรับเชิงบวกมากมายต่อการตอบกลับฉันไม่พบความถูกต้อง / สมบูรณ์เลย

มีสองสิ่งที่ควรคำนึงถึง:

  • พื้นที่เก็บข้อมูลระยะไกล
  • สำเนาโลคัลของที่เก็บ

หากคุณยังไม่ได้โคลน repo ในเครื่องของคุณคุณเพียงแค่เปลี่ยนชื่อที่เก็บ Github แล้วทำการโคลน repo ต่อไปเพื่อที่คุณจะได้สำเนาเฉพาะที่ ในการเปลี่ยนชื่อ repo Github คุณเพียงแค่ต้อง:

  1. ไปที่ไซต์พื้นที่เก็บข้อมูล (เช่นhttps://github.com/userX/repositoryZ )
  2. ในแถบนำทางคุณจะเห็นแท็บชื่อ "การตั้งค่า" คลิกที่มัน
  3. เพียงแก้ไขชื่อที่เก็บปัจจุบันด้วยชื่อที่ต้องการแล้วกด "เปลี่ยนชื่อ"
  4. โคลนที่เก็บตามปกติ (เช่น git clone https://github.com/userX/repositoryU )

หากคุณมีสำเนาโลคัลของโปรเจ็กต์นอกเหนือจากทำตามขั้นตอนข้างต้นคุณต้องตรวจสอบให้แน่ใจว่าที่เก็บโลคัล (โฟลเดอร์รูท) ของคุณถูกเปลี่ยนชื่ออย่างถูกต้องและชี้ไปที่ลิงก์ URL ระยะไกล :) เพื่อให้บรรลุดังกล่าวให้ทำดังนี้:

  1. คุณอาจต้องการใช้ชื่อที่กำหนดใหม่สำหรับ repo ของคุณ หากต้องการทำเช่นนั้นให้เปลี่ยนชื่อโฟลเดอร์ในเครื่องโดยใช้ OS GUI (ตัวค้นหา Windows Explorer ฯลฯ ) หรือคอนโซล:

mv -R current-repo-name new-repo-name

  1. เปลี่ยน URL ระยะไกล จากรูทของโฟลเดอร์ใช้สิ่งต่อไปนี้:

$ git remote set-url origin https://github.com/userX/repositoryU

หรือ

$ git remote set-url origin git@github.com:userX/repositoryU.git

ขั้นตอนที่สองไม่จำเป็นต้องทำ Github ประกาศขณะที่ผ่านมาว่าพวกเขาจะเปลี่ยนเส้นทางการร้องขอทั้งหมดจาก URL พื้นที่เก็บข้อมูลก่อนหน้านี้กับคนที่ได้รับมอบหมาย นั่นหมายความว่าคุณไม่จำเป็นต้องใช้$ git remote set-url ...แต่พวกเขายังแนะนำให้คุณทำเช่นนั้นเพื่อหลีกเลี่ยงความสับสน

หวังว่ามันจะช่วย หากคุณมีคำถามหรือโพสต์ไม่ชัดเจนพอแจ้งให้เราทราบ


9

คำตอบนี้ล้าสมัยแล้ว! GitHub จะส่งต่อไปยังที่ตั้งใหม่ทันที ดูคำตอบนี้สำหรับรายละเอียด


เหตุผลที่การเตือนนี้เกิดขึ้นเนื่องจาก # 1 ไม่สามารถทำได้สามารถทำได้ด้วยตนเอง

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

อย่างไรก็ตามเหตุผลที่มีที่เก็บสาธารณะบน github ในสถานที่แรกคือคุณสามารถให้คนอื่นโคลนที่เก็บของคุณและเชื่อมโยงไปยังหน้าโครงการ GitHub ของคุณ


URL เก่าgithub.com/<username>/<repository>เป็นของ github เมื่อพวกเขาไม่ตั้งค่าการเปลี่ยนเส้นทางไปยัง URL ใหม่จะไม่มีใครทำได้ ดังนั้นสิ่งต่าง ๆ จะพังทลายลงสำหรับทุกคนยกเว้นบุคคลที่คุณบอก

ปัญหาใหญ่แค่ไหนนั้นขึ้นอยู่กับคุณ หากคุณมีหน้าโครงการอย่างเป็นทางการบนเซิร์ฟเวอร์ที่แตกต่างกัน URL ของ GitHub อาจไม่เป็นปัญหามากนัก หากคุณโฆษณาโครงการของคุณด้วย URL github ในรายการส่งเมลและไดเรกทอรีคุณอาจไม่ควรเปลี่ยนชื่อ repo


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

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


6

เป็นที่น่าสังเกตว่าถ้าคุณแยกโครงการ GitHub แล้วเปลี่ยนชื่อสำเนาที่เพิ่งเกิดใหม่ชื่อใหม่จะปรากฏในกราฟเครือข่ายสมาชิกของโครงการหลัก ความสัมพันธ์ที่สมบูรณ์จะถูกรักษาไว้เช่นกัน สิ่งนี้ควรจัดการกับการจองที่เกี่ยวข้องกับจุดแรกในคำถามเดิมที่เกี่ยวข้องกับการเปลี่ยนเส้นทางเช่นคุณยังสามารถมาที่นี่ได้จากที่นั่นเพื่อพูด ฉันก็ลังเลเช่นกันเนื่องจากการเพิกถอนไม่ได้ที่บอกเป็นนัย ๆ จากคำเตือนดังนั้นหวังว่านี่จะช่วยให้ผู้อื่นล่าช้าได้


คุณไม่สามารถแยกโครงการของคุณเองที่ GitHub ดังนั้นคุณต้องใช้บัญชีอื่น แต่นั่นจะใช้ได้
JonnyJD

ฉันแยกไปที่องค์กรดังนั้นฉันคิดว่ามันเหมือนกับการใช้บัญชีอื่น ฉันแน่ใจว่าคุณถูกต้อง
Neil Best

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

6
  • นำทางไปยังที่เก็บข้อมูลของคุณ
  • คลิกที่ปุ่มการตั้งค่าที่มีใน panne ขวา
  • แทนที่ชื่อที่เก็บเก่าเป็นชื่อใหม่
  • คลิกที่ปุ่มเปลี่ยนชื่อ

3

โซลูชันนี้สำหรับผู้ใช้ที่ใช้เดสก์ท็อป GitHub

  1. เปลี่ยนชื่อพื้นที่เก็บข้อมูลของคุณจากการตั้งค่าบน GitHub.com

  2. ตอนนี้จากเดสก์ท็อปของคุณคลิกที่การซิงค์

เสร็จสิ้น


มันแปลกที่คุณสมบัติพื้นฐานดังกล่าวจะไม่พบในแอปพลิเคชันนั้นด้วยตัวเอง
svarog

1
  1. เปิด url นี้ ( https://github.com/ ) จากเบราว์เซอร์ของคุณ

  2. ไปที่ที่เก็บที่ด้านขวาสุดของหน้า

  3. เปิดลิงก์ของที่เก็บที่คุณต้องการเปลี่ยนชื่อ

  4. คลิกการตั้งค่า (คุณจะพบในแถบนำทาง)

  5. ที่ด้านบนคุณจะพบกล่องที่เรียกว่า (ชื่อพื้นที่เก็บข้อมูล) ที่คุณเขียนชื่อใหม่

  6. กดเปลี่ยนชื่อ


0

ฉันพยายามที่จะเปลี่ยนชื่อพื้นที่เก็บข้อมูลบนหน้าเว็บ:

  1. คลิกที่ด้านบนของหน้าขวาที่เป็นสัญลักษณ์ของคุณ
  2. คุณสามารถดูที่ไอคอนของsettingคลิกมันแล้วคุณจะพบภายใต้RepositoriesPersonal setting
  3. คลิกที่Repositoriesและป้อนไดเรกทอรีของที่เก็บเลือกที่เก็บที่คุณต้องการเปลี่ยนชื่อ
  4. แล้วคุณจะได้รับการแต่งตั้งเข้ามาในพื้นที่เก็บข้อมูลและคุณจะพบไอคอนจะถูกเพิ่มบรรทัดด้านบนเพียงแค่คลิกและป้อนชื่อใหม่แล้วคลิกsettingRename

ทำได้ง่ายมาก


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