แบบฝึกหัด - อัปโหลดโครงการของคุณไปยัง GitHub

เสร็จสมบูรณ์เมื่อ

คุณสามารถนําเข้าพื้นที่เก็บข้อมูลไปยัง GitHub โดยใช้ GitHub Importer บรรทัดคําสั่ง หรือเครื่องมือการโยกย้ายภายนอกได้

เกี่ยวกับตัวนําเข้า GitHub

ถ้าคุณมีรหัสแหล่งที่มาใน Subversion, Mercurial, Team Foundation Version Control (TFVC) หรือที่เก็บ Git อื่น คุณสามารถย้ายไปยัง GitHub โดยใช้ GitHub Importer GitHub Importer เป็นเครื่องมือที่นําเข้าที่เก็บข้อมูลโค้ดต้นฉบับได้อย่างรวดเร็ว รวมถึงยืนยันและประวัติการตรวจทานไปยัง GitHub สําหรับคุณ

ในระหว่างการนําเข้า ขึ้นอยู่กับระบบควบคุมเวอร์ชันที่คุณกําลังนําเข้า คุณสามารถทํางานบางอย่างต่อไปนี้ รับรองความถูกต้องกับที่เก็บระยะไกลของคุณ อัปเดตการระบุแหล่งที่มาของผู้เขียนที่ยอมรับ นําเข้าที่เก็บที่มีไฟล์ขนาดใหญ่ หรือเอาไฟล์ขนาดใหญ่ออก ถ้าคุณไม่ต้องการใช้ Git Large File Storage

นําเข้าการดําเนินการ การกลับรายการย่อย หลายใจ TFVC Git
การรับรองความถูกต้องกับที่เก็บระยะไกล X X X X
อัปเดตการระบุแหล่งที่มาของผู้เขียนยอมรับ X X X
ย้ายไฟล์ขนาดใหญ่ไปยัง Git Large File Storage X X X
ลบไฟล์ขนาดใหญ่ออกจากที่เก็บข้อมูลของคุณ X X X

การนําเข้าที่เก็บกับ GitHub Importer

ถ้าคุณมีโครงการที่โฮสต์ในระบบควบคุมเวอร์ชันอื่น คุณสามารถนําเข้าไปยัง GitHub ได้โดยอัตโนมัติโดยใช้เครื่องมือ GitHub Importer ตัวนําเข้า GitHub ไม่เหมาะสําหรับการนําเข้าทั้งหมด ตัวอย่างเช่นหากรหัสที่มีอยู่ของคุณถูกโฮสต์บนเครือข่ายส่วนตัวเครื่องมือของเราจะไม่สามารถเข้าถึงได้ ในกรณีเหล่านี้ เราขอแนะนําให้นําเข้าโดยใช้บรรทัดคําสั่งสําหรับที่เก็บข้อมูล Git หรือเครื่องมือการโยกย้ายรหัสแหล่งข้อมูลภายนอกสําหรับโครงการที่นําเข้าจากระบบควบคุมเวอร์ชันอื่น ๆ

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

พื้นที่เก็บและไฟล์แต่ละไฟล์ขึ้นอยู่กับขีดจํากัดของขนาด สําหรับข้อมูลเพิ่มเติม ดูเกี่ยวกับไฟล์ขนาดใหญ่บน GitHub

หากต้องการนําเข้าที่เก็บข้อมูล ให้ทําตามขั้นตอนเหล่านี้:

  1. ที่มุมขวาบนของเพจใดๆ ให้เลือก +จากนั้นเลือก นําเข้าที่เก็บ

    สกรีนช็อตของปุ่มที่เก็บการนําเข้า

  2. ภายใต้ "URL แบบลอกแบบของที่เก็บเก่าของคุณ" พิมพ์ URL ของโครงการที่คุณต้องการนําเข้า

    สกรีนช็อตของกล่องข้อความ URL ที่เก็บเก่า

  3. เลือกบัญชีผู้ใช้หรือองค์กรเพื่อเป็นเจ้าของที่เก็บข้อมูล จากนั้นพิมพ์ชื่อสําหรับที่เก็บบน GitHub

    สกรีนช็อตของชื่อเจ้าของที่เก็บการนําเข้าใหม่

  4. ระบุว่าที่เก็บใหม่ควรเป็นแบบสาธารณะหรือส่วนตัว สําหรับข้อมูลเพิ่มเติม โปรดดูที่ การตั้งค่าการมองเห็นที่เก็บ

    สกรีนช็อตของตัวเลือกสาธารณะหรือส่วนตัวของที่เก็บข้อมูลใหม่

  5. ตรวจทานข้อมูลที่คุณใส่ จากนั้นเลือก เริ่มการนําเข้า

    สกรีนช็อตของปุ่มเริ่มต้นการนําเข้าสําหรับการนําเข้าที่เก็บข้อมูลใหม่

  6. ถ้าโครงการเก่าของคุณได้รับการป้องกันด้วยรหัสผ่าน ให้พิมพ์ข้อมูลการลงชื่อเข้าใช้สําหรับโครงการนั้น แล้วเลือก ส่ง

    สกรีนช็อตของตําแหน่งที่ตั้งเพื่อป้อนค่านําเข้าข้อมูลประจําตัวของที่เก็บเก่าของคุณ

  7. ถ้ามีหลายโครงการที่โฮสต์อยู่ใน URL แบบลอกแบบของโครงการเก่าของคุณ ให้เลือกโครงการที่คุณต้องการนําเข้า จากนั้นเลือก ส่ง

    สกรีนช็อตของการเลือกโครงการที่พบใน URL เดียวกัน ตัวนําเข้าโครงการ

  8. ถ้าโครงการของคุณมีไฟล์ที่มีขนาดใหญ่กว่า 100 MB เลือกว่าจะนําเข้าไฟล์ขนาดใหญ่โดยใช้ Git Large File Storageจากนั้นเลือก ดําเนินการต่อ

    สกรีนช็อตของไฟล์ที่เหมาะสําหรับผู้นําเข้า Git Large File Storage

เมื่อพื้นที่เก็บข้อมูลถูกนําเข้าทั้งหมด คุณจะได้รับอีเมล

กําลังอัปเดตแหล่งที่มาของผู้เขียนเอกสารด้วย GitHub Importer

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

กําลังปรับปรุงผู้เขียนที่ยอมรับ

ทําตามขั้นตอนเหล่านี้เพื่อปรับปรุงผู้เขียนที่ยอมรับ:

  1. หลังจากนําเข้าที่เก็บข้อมูลของคุณบนหน้าสถานะการนําเข้าให้เลือก ตรงกับผู้เขียน

    สกรีนช็อตของปุ่มผู้เขียนที่ตรงกัน

  2. ถัดจากผู้เขียนที่มีข้อมูลที่คุณต้องการอัปเดต ให้เลือก เชื่อมต่อ

    สกรีนช็อตของกระบวนการผู้เขียนที่ยอมรับการเชื่อมต่อ

  3. พิมพ์ที่อยู่อีเมลหรือชื่อผู้ใช้ GitHub ของผู้เขียน จากนั้นกด ป้อน

การระบุแหล่งที่มายอมรับผู้ใช้ GitHub ด้วยที่อยู่อีเมลสาธารณะ

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

การระบุแหล่งที่มายอมรับผู้ใช้ GitHub โดยไม่มีที่อยู่อีเมลสาธารณะ

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

ผู้เขียนที่ยอมรับสามารถแก้ไขปัญหานี้ได้โดยการตั้งค่าที่อยู่อีเมลของพวกเขาเป็นส่วนตัว ความยอมรับของยอมรับเหล่านั้นมีแอตทริบิวต์เป็น <username>@users.noreply.github.comและยอมรับที่นําเข้าจะเชื่อมโยงกับบัญชี GitHub ของพวกเขา

การส่งที่มาด้วยการใช้ที่อยู่อีเมล

ถ้าที่อยู่อีเมลของผู้เขียนไม่ได้เชื่อมโยงกับบัญชี GitHub ของพวกเขา พวกเขาสามารถ เพิ่มที่อยู่ไปยังบัญชีของพวกเขา หลังจากการนําเข้า และยอมรับจะถูกแอตทริบิวต์อย่างถูกต้อง

ถ้าผู้เขียนไม่มีบัญชี GitHub ตัวนําเข้า GitHub จะกําหนดแอตทริบิวต์ที่ผู้เขียนป้อนเข้าไปยังที่อยู่อีเมลที่เชื่อมโยงกับการยอมรับ

การนําเข้าที่เก็บ GitHub โดยใช้บรรทัดคําสั่ง

ถ้า GitHub Importer ไม่เหมาะสําหรับวัตถุประสงค์ของคุณ เช่น หากโค้ดที่มีอยู่ของคุณถูกโฮสต์บนเครือข่ายส่วนตัว เราขอแนะนําให้นําเข้าโดยใช้บรรทัดคําสั่ง

ก่อนที่คุณจะเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณทราบ:

  • ชื่อผู้ใช้ GitHub ของคุณ
  • URL ลอกแบบสําหรับที่เก็บภายนอก เช่น https://external-host.com/user/repo.git หรือ git://external-host.com/user/repo.git (อาจม user@ อยู่หน้าชื่อโดเมน external-host.com)

สําหรับวัตถุประสงค์ของการสาธิต เราใช้:

  • บัญชีภายนอกที่ชื่อ ผู้ใช้งานภายนอก
  • โฮสต์ Git ภายนอกที่ชื่อว่า https://external-host.com
  • บัญชีผู้ใช้ส่วนบุคคล GitHub ชื่อ ghuser
  • ที่เก็บบน GitHub.com ที่ชื่อ repo.git

ทําตามขั้นตอนเหล่านี้เพื่อนําเข้าที่เก็บข้อมูลภายนอกของคุณ:

  1. สร้างที่เก็บใหม่บน GitHub คุณนําเข้าที่เก็บ Git ภายนอกของคุณไปยังที่เก็บใหม่นี้

  2. สร้างลอกแบบ "เปล่า" ของที่เก็บโดยใช้ URL การลอกแบบภายนอก บนบรรทัดคําสั่ง ให้ป้อนคําสั่งต่อไปนี้ คําสั่งนี้จะสร้างสําเนาทั้งหมดของข้อมูล แต่ไม่มีไดเรกทอรีที่ใช้งานสําหรับการแก้ไขไฟล์และทําให้แน่ใจการส่งออกข้อมูลเก่าทั้งหมดที่สะอาดและใหม่

    $ git clone --bare https://external-host.com/ext-user/repo.git
    #Makes a bare clone of the external repository in a local directory 
    
  3. ส่งที่เก็บข้อมูลที่ถูกลอกแบบภายในเครื่องไปยัง GitHub โดยใช้ตัวเลือก "กระจก" ซึ่งทําให้มั่นใจว่าการอ้างอิงทั้งหมด เช่น สาขาและแท็กจะถูกคัดลอกไปยังที่เก็บที่นําเข้า

    $ cd repo.git
    $ git push --mirror https://github.com/ghuser/repo.git
    #Pushes the mirror to the new repository on GitHub.com 
    
  4. ลบที่เก็บชั่วคราวภายในเครื่อง

    $ cd ..
    $ rm -rf repo.git 
    

การเพิ่มรหัสโฮสต์ภายในเครื่องใน GitHub

ถ้าคุณมีซอร์สโค้ดหรือที่เก็บที่จัดเก็บไว้ภายในคอมพิวเตอร์หรือเครือข่ายส่วนตัวภายในเครื่องของคุณ โดยการพิมพ์คําสั่ง Git โดยตรง หรือโดยการใช้ GitHub CLI

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

การเพิ่มที่เก็บภายในเครื่องไปยัง GitHub ด้วย GitHub CLI

ทําตามขั้นตอนเหล่านี้เพื่อเพิ่มที่เก็บภายในเครื่องกับ GitHub CLI:

  1. ในบรรทัดคําสั่ง ให้นําทางไปยังไดเรกทอรีรากของโครงการของคุณ

  2. เตรียมใช้งานไดเรกทอรีภายในเครื่องเป็นที่เก็บ Git

    git init -b main
    
  3. ลําดับขั้นและบันทึกไฟล์ทั้งหมดในโครงการของคุณ

    git add . && git commit -m "initial commit"
    
  4. เมื่อต้องการสร้างที่เก็บสําหรับโครงการของคุณบน GitHub ให้ใช้ gh repo create subcommand เมื่อได้รับข้อความปรากฏ ให้เลือก ส่งที่เก็บภายในเครื่องที่มีอยู่ไปยัง GitHub และป้อนชื่อที่ต้องการสําหรับที่เก็บของคุณ ถ้าคุณต้องการให้โครงการของคุณอยู่ในองค์กรแทนที่จะเป็นบัญชีผู้ใช้ของคุณ ให้ระบุชื่อองค์กรและชื่อโครงการด้วย organization-name/project-name

  5. ทําตามพร้อมท์แบบโต้ตอบ หากต้องการเพิ่มระยะไกลและส่งที่เก็บข้อมูลให้ยืนยัน ใช่ เมื่อได้รับการร้องขอให้เพิ่มระยะไกลและส่งการยอมรับไปยังสาขาปัจจุบัน

  6. อีกวิธีหนึ่งคือ หากต้องการข้ามพร้อมท์ทั้งหมด ให้ใส่เส้นทางไปยังที่เก็บด้วยค่าสถานะ --source และผ่านค่าสถานะการมองเห็น (--public--privateหรือ --internal) ตัวอย่างเช่น gh repo create --source=. --public ระบุรีโมทด้วยค่าสถานะ --remote เมื่อต้องการส่งบันทึกของคุณ ส่งผ่านค่าสถานะ --push สําหรับข้อมูลเพิ่มเติมเกี่ยวกับอาร์กิวเมนต์ที่เป็นไปได้ ให้อ้างอิงคู่มือ GitHub CLI

การเพิ่มที่เก็บภายในเครื่องใน GitHub โดยใช้ Git

ทําตามขั้นตอนเหล่านี้เพื่อเพิ่มที่เก็บภายในเครื่องโดยใช้ Git:

  1. สร้าง ที่เก็บข้อมูลใหม่บน GitHub.com เพื่อหลีกเลี่ยงข้อผิดพลาด อย่าเริ่มต้นที่เก็บใหม่ด้วย README สิทธิ์การใช้งาน หรือ gitignore files คุณสามารถเพิ่มไฟล์เหล่านี้หลังจากที่โครงการของคุณถูกส่งไปยัง GitHub

    สกรีนช็อตของการสร้างที่เก็บใหม่

  2. เปิด Git Bash

  3. เปลี่ยนไดเรกทอรีการทํางานปัจจุบันเป็นโครงการภายในเครื่องของคุณ

  4. เตรียมใช้งานไดเรกทอรีภายในเครื่องเป็นที่เก็บ Git

    $ git init -b main
    
  5. เพิ่มไฟล์ในที่เก็บภายในเครื่องใหม่ของคุณ คําสั่งนี้ยังมีลําดับขั้นสําหรับการยอมรับครั้งแรก

    $ git add .
    # Adds the files in the local repository and stages them for commit. To unstage a file, use 'git reset HEAD YOUR-FILE'.
    
  6. ยอมรับไฟล์ที่อยู่ในที่เก็บภายในเครื่องของคุณ

    $ git commit -m "First commit"
    # Commits the tracked changes and prepares them to be pushed to a remote repository. To remove this commit and modify the file, use 'git reset --soft HEAD~1' and commit and add the file again.
    
  7. ที่ด้านบนของที่เก็บของคุณในหน้า การตั้งค่าด่วน ของ GitHub.com ให้เลือกปุ่ม คัดลอก เพื่อคัดลอก URL ที่เก็บระยะไกล

    screenshot copy remote repository url quick setupscreenshot copy remote repository url quick setupscreenshot copy remote repository url quick setupการตั้งค่าด่วนของที่เก็บสกรีนช็อต

  8. ในพร้อมท์คําสั่ง เพิ่ม URL สําหรับที่เก็บระยะไกล ที่เก็บภายในเครื่องของคุณจะถูกส่งไปยังตําแหน่งที่ตั้งนี้

    $ git remote add origin <REMOTE_URL> 
    # Sets the new remote
    $ git remote -v
    # Verifies the new remote URL
    
  9. ส่งการเปลี่ยนแปลง ในที่เก็บภายในเครื่องของคุณไปยัง GitHub.com

    $ git push origin main
    # Pushes the changes in your local repository up to the remote repository you specified as the origin
    

เครื่องมือการย้ายรหัสต้นทาง

คุณสามารถใช้เครื่องมือภายนอกเพื่อย้ายโครงการของคุณไปยัง GitHub ได้ เราขอแนะนําให้ใช้ GitHub Importer เพื่อนําเข้าโครงการจาก Subversion, Mercurial, Team Foundation Version Control (TFVC) หรือที่เก็บข้อมูล Git อื่น คุณยังสามารถใช้เครื่องมือภายนอกเหล่านี้เพื่อแปลงโครงการของคุณเป็น Git ได้

การนําเข้าจากการกลับรายการย่อย

ในสภาพแวดล้อม Subversion ทั่วไป หลายโครงการจะถูกจัดเก็บไว้ในที่เก็บรากเดียว GitHub แต่ละโครงการเหล่านี้แมปกับที่เก็บ Git ที่แยกต่างหากสําหรับบัญชีผู้ใช้หรือองค์กร เราขอแนะนําให้นําเข้าแต่ละส่วนของที่เก็บข้อมูลย่อยของคุณไปยังที่เก็บ GitHub ที่แยกต่างหากหาก:

  • ผู้ทํางานร่วมกันต้องเช็คเอาท์หรือยอมรับส่วนนั้นของโครงการแยกต่างหากจากส่วนอื่น ๆ
  • คุณต้องการให้ส่วนต่าง ๆ มีสิทธิ์เข้าถึงของตนเอง

เราขอแนะนําให้ใช้เครื่องมือเหล่านี้สําหรับการแปลงที่เก็บ Subversion เป็น Git:

กําลังนําเข้าจาก Mercurial

เราขอแนะนําให้ การส่งออกอย่างรวดเร็ว hg สําหรับการแปลงที่เก็บ Mercurial เป็น Git

กําลังนําเข้าจาก TFVC

เราขอแนะนําให้ git-tfs สําหรับการย้ายการเปลี่ยนแปลงระหว่าง TFVC และ Git

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการย้ายจาก TFVC (ระบบควบคุมเวอร์ชันส่วนกลาง) ไปยัง Git โปรดดู โยกย้ายไปยัง Git จากการควบคุมเวอร์ชันส่วนกลาง