การโอนย้ายเปลี่ยนอะไรจริง ๆ
การโอนย้าย GitHub repository คือการย้าย repository ไปยังบัญชีเจ้าของอื่น ไม่ใช่การดำเนินการเดียวกับการเปลี่ยนชื่อผู้ใช้โปรไฟล์ของคุณ การเปลี่ยนชื่อผู้ใช้จะเปลี่ยนตัวตนสาธารณะของบัญชีและ URL ที่สร้างจากชื่อนั้น ส่วนการโอนย้าย repository จะเปลี่ยนว่าใครเป็นเจ้าของโปรเจกต์นั้นเพียงโปรเจกต์เดียว หากเป้าหมายของคุณคือชื่อโปรไฟล์ที่ดูสะอาดกว่า ไม่ใช่การส่งมอบโปรเจกต์ให้คนอื่น ขั้นตอนการโอนย้ายด้านล่างนี้คือเครื่องมือที่ผิด
ความแตกต่างนี้สำคัญต่อการวางแผน เมื่อบัญชีเจ้าของเดิมถูกเลิกใช้แล้ว จะไม่มีใครล็อกอินเพื่อตอบรับคำเชิญ อนุมัติขั้นตอนต่อเนื่อง หรือแก้ไขลิงก์ที่พลาดไปได้ ทุกสิ่งทุกอย่างที่พึ่งพาบัญชีเดิมต้องจัดการให้เรียบร้อยก่อนถึงจุดนั้น ไม่ใช่หลังจากนั้น
เงื่อนไขที่ต้องยืนยันก่อนเริ่ม
มีสองเงื่อนไขที่ชี้ขาดว่าการโอนย้ายจะดำเนินการได้หรือไม่:
การโอนย้าย repository ต้องมีสิทธิ์ผู้ดูแลระบบและบัญชีผู้รับที่เข้ากันได้ โดยไม่มีชื่อ repository หรือ fork network ที่ขัดแย้งกัน แหล่งที่มา
ในทางปฏิบัติ นั่นหมายถึงการตรวจสอบสามอย่างฝั่งเจ้าของและหนึ่งอย่างฝั่งผู้รับก่อนส่งคำขอ:
| สิ่งที่ตรวจ | ใครยืนยัน | ทำไมจึงขัดขวางการโอนย้าย |
|---|---|---|
| บัญชีเจ้าของมีสิทธิ์ผู้ดูแลระบบใน repository | เจ้าของ | หากไม่มีสิทธิ์ผู้ดูแลระบบ จะเริ่มการโอนย้ายไม่ได้ |
| บัญชีผู้รับเข้ากันได้ | ผู้รับ | บัญชีผู้รับที่ไม่เข้ากันได้จะหยุดการโอนย้าย |
| ไม่มี repository ชื่อเดียวกันอยู่บนบัญชีผู้รับแล้ว | ผู้รับ | ชื่อที่ขัดแย้งกันจะขัดขวางการย้าย |
| ไม่มี fork network ที่ขัดแย้งกัน | ผู้รับ | fork network ที่ขัดแย้งกันจะขัดขวางการย้าย |
หากแถวใดล้มเหลว ให้แก้ไขก่อนส่งคำขอ การเปลี่ยนชื่อ repository ฝั่งผู้รับหรือเลือกบัญชีปลายทางอื่นเป็นการตัดสินใจฝั่งผู้รับ ดังนั้นตกลงกันล่วงหน้าแทนที่จะไปพบความขัดแย้งกลางทางการโอนย้าย
ขั้นตอนการตอบรับมีหน้าต่างเวลาสั้น
สำหรับการโอนย้ายระหว่างบัญชีส่วนตัว ผู้รับไม่ใช่ฝ่ายที่นิ่งเฉย พวกเขาต้องลงมือ:
สำหรับการโอนย้ายไปยังบัญชีส่วนตัวอื่น ผู้รับต้องตอบรับคำเชิญทางอีเมลซึ่งหมดอายุภายในหนึ่งวัน แหล่งที่มา
การหมดอายุในหนึ่งวันคือความเสี่ยงด้านปฏิบัติการหลักในขั้นตอนนี้ หากผู้รับอยู่ในเขตเวลาต่างกัน ลางาน หรือเพียงไม่ได้เฝ้าดูอีเมล คำเชิญอาจหมดอายุและต้องเริ่มการโอนย้ายใหม่ ตกลงเวลาส่งเมื่อผู้รับติดต่อได้ และบอกให้พวกเขาคาดว่าจะได้รับข้อความ แทนที่จะปล่อยให้ค้างอ่าน
รายการตรวจสอบการตอบรับระหว่างเจ้าของและผู้รับแบบง่าย:
- เจ้าของ: ยืนยันสิทธิ์ผู้ดูแลระบบ repository ที่จะย้ายให้แน่ชัด และบัญชีผู้รับไม่มีชื่อหรือ fork network ที่ขัดแย้งกัน
- ผู้รับ: ยืนยันบัญชีปลายทางและตรวจสอบความขัดแย้งเดียวกันจากฝั่งของตน
- ทั้งสองฝ่าย: ตกลงช่วงเวลาส่งเมื่อผู้รับสามารถตอบกลับได้ภายในหนึ่งวัน
- เจ้าของ: ส่งคำขอโอนย้าย
- ผู้รับ: ตอบรับคำเชิญทางอีเมลโดยเร็วและแจ้งกลับ
- เจ้าของ: ยืนยันว่า repository ปรากฏอยู่ภายใต้บัญชีผู้รับแล้วก่อนดำเนินการใด ๆ กับบัญชีเดิม
อย่าเลิกใช้บัญชีเจ้าของจนกว่าจะยืนยันขั้นตอนที่ 6 บัญชีเดิมเป็นที่เดียวที่สามารถส่งการโอนย้ายที่ล้มเหลวหรือหมดอายุซ้ำได้
เกิดอะไรขึ้นกับลิงก์สาธารณะหลังจากนั้น
พฤติกรรมของลิงก์คือจุดที่การโอนย้ายทำให้คนประหลาดใจ เพราะลิงก์สองประเภททำงานต่างกัน:
ลิงก์ของ repository จะเปลี่ยนเส้นทางหลังการโอนย้าย แต่เว็บไซต์ GitHub Pages ที่เชื่อมโยงอยู่จะไม่ถูกเปลี่ยนเส้นทาง การนำตำแหน่ง repository เดิมกลับมาใช้จะลบการเปลี่ยนเส้นทางของ repository แหล่งที่มา
นั่นทำให้การตรวจสอบลิงก์หลังการโอนย้ายแบ่งได้ชัดเจน:
| ประเภทลิงก์ | หลังการโอนย้าย | การดำเนินการที่ต้องทำ |
|---|---|---|
| ลิงก์ repository ที่ชี้ไปยังตำแหน่งเดิม | เปลี่ยนเส้นทางไปยังเจ้าของใหม่ | โดยปกติไม่ต้องทำอะไร ตรวจสอบตัวอย่าง |
| เว็บไซต์ GitHub Pages ที่สร้างจาก repository | ไม่ถูกเปลี่ยนเส้นทาง | อัปเดตลิงก์ที่เผยแพร่ทุกจุดไปยังเว็บไซต์ Pages |
| ตำแหน่ง repository เดิมถูกนำกลับมาใช้โดยคนอื่น | การเปลี่ยนเส้นทางถูกลบ | หลีกเลี่ยงการปล่อยตำแหน่งเดิมว่าง ให้ลิงก์เป็นปัจจุบัน |
แถวที่สามคือแถวที่มักถูกมองข้ามมากที่สุด หากเส้นทาง repository เดิมถูกนำกลับมาใช้ในภายหลัง การเปลี่ยนเส้นทางที่เคยปกปิดลิงก์เก่าของคุณอย่างเงียบ ๆ จะหายไป มองการเปลี่ยนเส้นทางเป็นความสะดวกในช่วงย้ายข้อมูล ไม่ใช่การรับประกันถาวร และอัปเดตลิงก์ที่คุณควบคุมแทนที่จะพึ่งพามัน
รายการตรวจสอบลิงก์สาธารณะหลังการโอนย้าย
ทำตามนี้หลังจากผู้รับยืนยันความเป็นเจ้าของและก่อนบัญชีเจ้าของจะถูกเลิกใช้:
- เปิดลิงก์ repository ตัวอย่างจากเอกสาร README และเว็บไซต์ใด ๆ ที่อ้างถึงโปรเจกต์ และยืนยันว่าลิงก์เหล่านั้นชี้ไปยังเจ้าของใหม่
- ระบุเว็บไซต์ GitHub Pages ทุกแห่งที่เชื่อมโยงกับ repository เนื่องจากเว็บไซต์เหล่านี้ไม่ถูกเปลี่ยนเส้นทาง และอัปเดตลิงก์ที่เผยแพร่ไปยังเว็บไซต์เหล่านั้น
- ตัดสินใจว่าจะเกิดอะไรขึ้นกับตำแหน่ง repository เดิม เพื่อไม่ให้ถูกนำกลับมาใช้ในลักษณะที่ลบการเปลี่ยนเส้นทาง
- ตรวจสอบลิงก์จากที่ที่คุณไม่ได้ควบคุม เช่น บทความภายนอกหรือบุ๊กมาร์กที่แชร์ และบันทึกว่าลิงก์ใดอัปเดตได้และไม่ได้
- คงบัญชีเจ้าของให้ใช้งานอยู่จนกว่าทุกข้อข้างต้นจะเสร็จ
การย้ายความเป็นเจ้าของกับการเปลี่ยนชื่อผู้ใช้
การโอนย้าย repository กับการเปลี่ยนชื่อผู้ใช้โปรไฟล์เป็นงานแยกกันที่มีความเสี่ยงแยกกัน การโอนย้ายเกี่ยวกับว่าใครเป็นเจ้าของโปรเจกต์ การเปลี่ยนชื่อผู้ใช้เกี่ยวกับตัวตนสาธารณะของบัญชีเอง หากสิ่งที่คุณต้องการจริง ๆ คือจัดระเบียบว่าโปรไฟล์ของคุณปรากฏอย่างไร ไม่ใช่การส่งมอบ repository เริ่มจากคู่มือเปลี่ยนชื่อผู้ใช้แทน: เปลี่ยนชื่อผู้ใช้ GitHub ของคุณโดยไม่ทิ้งลิงก์โปรไฟล์ที่เสีย
หากคุณทำทั้งสองอย่าง ให้จัดลำดับอย่างตั้งใจ: จัดการความเป็นเจ้าของ repository ก่อน ยืนยันว่าเจ้าของใหม่สามารถดำเนินการได้อย่างอิสระ แล้วจึงเปลี่ยนหรือเลิกใช้บัญชีเดิม การทำในลำดับกลับกันจะทำให้การโอนย้ายต้องพึ่งพาบัญชีที่คุณสละไปแล้ว
การค้นหาชื่อผู้ใช้เหมาะตรงไหน และไม่เหมาะตรงไหน
ก่อนเลิกใช้บัญชี ผู้คนมักอยากรู้ว่ายังมีร่องรอยสาธารณะของชื่อผู้ใช้เดิมหลงเหลืออยู่ที่อื่นหรือไม่ การค้นหาชื่อผู้ใช้อาจเปิดเผยโปรไฟล์สาธารณะที่ตรงกันบนแพลตฟอร์มอื่น ซึ่งมีประโยชน์ในฐานะรายการเบาะแสสำหรับลิงก์ที่คุณอาจต้องอัปเดต มันไม่ใช่บัญชีรายการบัญชี และการตรงกันไม่ใช่หลักฐานว่าคนเดียวกันเป็นเจ้าของทั้งสองบัญชี มองผลลัพธ์เป็นจุดที่ต้องตรวจด้วยมือ ไม่ใช่การยืนยันว่าลิงก์ยังใช้งานได้หรือบัญชีนั้นเป็นของคุณ
TraceSeek ครอบคลุม 3,000+ แพลตฟอร์ม และให้สแกนครั้งแรกฟรีใน 20–30 วินาที ซึ่งช่วยสร้างรายการตรวจสอบโปรไฟล์สาธารณะให้ทบทวนได้ แต่ไม่ได้ยืนยันความเป็นเจ้าของและไม่ใช่สิ่งทดแทนการตรวจสอบการโอนย้ายและลิงก์ข้างต้น การโอนย้าย repository เองเกิดขึ้นบน GitHub ไม่ใช่ในเครื่องมือค้นหา
ลำดับการดำเนินการที่สมจริง
- ตัดสินใจว่าคุณต้องการโอนย้าย repository เปลี่ยนชื่อผู้ใช้ หรือทั้งสองอย่าง
- ยืนยันสิทธิ์ผู้ดูแลระบบ ความเข้ากันได้ของผู้รับ และไม่มีชื่อหรือ fork network ที่ขัดแย้งกัน
- ส่งการโอนย้ายเมื่อผู้รับสามารถตอบรับได้ภายในหนึ่งวัน
- ยืนยันว่า repository อยู่ภายใต้เจ้าของใหม่
- ตรวจสอบลิงก์ repository และแยกตรวจลิงก์ GitHub Pages ใด ๆ
- ปกป้องตำแหน่ง repository เดิมจากการถูกนำกลับมาใช้
- จากนั้นจึงเลิกใช้บัญชีเจ้าของ