แบบฝึกหัด - อัปโหลดโครงการของคุณไปยัง 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
หากต้องการนําเข้าที่เก็บข้อมูล ให้ทําตามขั้นตอนเหล่านี้:
ที่มุมขวาบนของเพจใดๆ ให้เลือก +จากนั้นเลือก นําเข้าที่เก็บ
ภายใต้ "URL แบบลอกแบบของที่เก็บเก่าของคุณ" พิมพ์ URL ของโครงการที่คุณต้องการนําเข้า
เลือกบัญชีผู้ใช้หรือองค์กรเพื่อเป็นเจ้าของที่เก็บข้อมูล จากนั้นพิมพ์ชื่อสําหรับที่เก็บบน GitHub
ระบุว่าที่เก็บใหม่ควรเป็นแบบสาธารณะหรือส่วนตัว สําหรับข้อมูลเพิ่มเติม โปรดดูที่ การตั้งค่าการมองเห็นที่เก็บ
ตรวจทานข้อมูลที่คุณใส่ จากนั้นเลือก เริ่มการนําเข้า
ถ้าโครงการเก่าของคุณได้รับการป้องกันด้วยรหัสผ่าน ให้พิมพ์ข้อมูลการลงชื่อเข้าใช้สําหรับโครงการนั้น แล้วเลือก ส่ง
ถ้ามีหลายโครงการที่โฮสต์อยู่ใน URL แบบลอกแบบของโครงการเก่าของคุณ ให้เลือกโครงการที่คุณต้องการนําเข้า จากนั้นเลือก ส่ง
ถ้าโครงการของคุณมีไฟล์ที่มีขนาดใหญ่กว่า 100 MB เลือกว่าจะนําเข้าไฟล์ขนาดใหญ่โดยใช้ Git Large File Storageจากนั้นเลือก ดําเนินการต่อ
เมื่อพื้นที่เก็บข้อมูลถูกนําเข้าทั้งหมด คุณจะได้รับอีเมล
กําลังอัปเดตแหล่งที่มาของผู้เขียนเอกสารด้วย GitHub Importer
ในระหว่างการนําเข้า คุณสามารถจับคู่ยอมรับในที่เก็บของคุณกับบัญชี GitHub ของผู้เขียนที่ยอมรับได้ GitHub Importer จะค้นหาผู้ใช้ GitHub ที่มีที่อยู่อีเมลที่ตรงกับผู้เขียนของยอมรับในที่เก็บที่คุณกําลังนําเข้า จากนั้นคุณสามารถเชื่อมต่อการยอมรับกับผู้เขียนโดยใช้ที่อยู่อีเมลของพวกเขาหรือชื่อผู้ใช้ GitHub ของผู้เขียน
กําลังปรับปรุงผู้เขียนที่ยอมรับ
ทําตามขั้นตอนเหล่านี้เพื่อปรับปรุงผู้เขียนที่ยอมรับ:
หลังจากนําเข้าที่เก็บข้อมูลของคุณบนหน้าสถานะการนําเข้าให้เลือก ตรงกับผู้เขียน
ถัดจากผู้เขียนที่มีข้อมูลที่คุณต้องการอัปเดต ให้เลือก เชื่อมต่อ
พิมพ์ที่อยู่อีเมลหรือชื่อผู้ใช้ 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
ทําตามขั้นตอนเหล่านี้เพื่อนําเข้าที่เก็บข้อมูลภายนอกของคุณ:
สร้างที่เก็บใหม่บน GitHub คุณนําเข้าที่เก็บ Git ภายนอกของคุณไปยังที่เก็บใหม่นี้
สร้างลอกแบบ "เปล่า" ของที่เก็บโดยใช้ URL การลอกแบบภายนอก บนบรรทัดคําสั่ง ให้ป้อนคําสั่งต่อไปนี้ คําสั่งนี้จะสร้างสําเนาทั้งหมดของข้อมูล แต่ไม่มีไดเรกทอรีที่ใช้งานสําหรับการแก้ไขไฟล์และทําให้แน่ใจการส่งออกข้อมูลเก่าทั้งหมดที่สะอาดและใหม่
$ git clone --bare https://external-host.com/ext-user/repo.git #Makes a bare clone of the external repository in a local directoryส่งที่เก็บข้อมูลที่ถูกลอกแบบภายในเครื่องไปยัง GitHub โดยใช้ตัวเลือก "กระจก" ซึ่งทําให้มั่นใจว่าการอ้างอิงทั้งหมด เช่น สาขาและแท็กจะถูกคัดลอกไปยังที่เก็บที่นําเข้า
$ cd repo.git $ git push --mirror https://github.com/ghuser/repo.git #Pushes the mirror to the new repository on GitHub.comลบที่เก็บชั่วคราวภายในเครื่อง
$ cd .. $ rm -rf repo.git
การเพิ่มรหัสโฮสต์ภายในเครื่องใน GitHub
ถ้าคุณมีซอร์สโค้ดหรือที่เก็บที่จัดเก็บไว้ภายในคอมพิวเตอร์หรือเครือข่ายส่วนตัวภายในเครื่องของคุณ โดยการพิมพ์คําสั่ง Git โดยตรง หรือโดยการใช้ GitHub CLI
GitHub CLI เป็นเครื่องมือโอเพนซอร์สสําหรับการใช้ GitHub จากบรรทัดคําสั่งของคอมพิวเตอร์ของคุณ GitHub CLI สามารถลดความซับซ้อนของกระบวนการเพิ่มโครงการที่มีอยู่ไปยัง GitHub โดยใช้บรรทัดคําสั่ง หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ GitHub CLI ลองดู เกี่ยวกับ GitHub CLI
การเพิ่มที่เก็บภายในเครื่องไปยัง GitHub ด้วย GitHub CLI
ทําตามขั้นตอนเหล่านี้เพื่อเพิ่มที่เก็บภายในเครื่องกับ GitHub CLI:
ในบรรทัดคําสั่ง ให้นําทางไปยังไดเรกทอรีรากของโครงการของคุณ
เตรียมใช้งานไดเรกทอรีภายในเครื่องเป็นที่เก็บ Git
git init -b mainลําดับขั้นและบันทึกไฟล์ทั้งหมดในโครงการของคุณ
git add . && git commit -m "initial commit"เมื่อต้องการสร้างที่เก็บสําหรับโครงการของคุณบน GitHub ให้ใช้
gh repo create subcommandเมื่อได้รับข้อความปรากฏ ให้เลือก ส่งที่เก็บภายในเครื่องที่มีอยู่ไปยัง GitHub และป้อนชื่อที่ต้องการสําหรับที่เก็บของคุณ ถ้าคุณต้องการให้โครงการของคุณอยู่ในองค์กรแทนที่จะเป็นบัญชีผู้ใช้ของคุณ ให้ระบุชื่อองค์กรและชื่อโครงการด้วยorganization-name/project-nameทําตามพร้อมท์แบบโต้ตอบ หากต้องการเพิ่มระยะไกลและส่งที่เก็บข้อมูลให้ยืนยัน ใช่ เมื่อได้รับการร้องขอให้เพิ่มระยะไกลและส่งการยอมรับไปยังสาขาปัจจุบัน
อีกวิธีหนึ่งคือ หากต้องการข้ามพร้อมท์ทั้งหมด ให้ใส่เส้นทางไปยังที่เก็บด้วยค่าสถานะ
--sourceและผ่านค่าสถานะการมองเห็น (--public--privateหรือ--internal) ตัวอย่างเช่นgh repo create --source=. --publicระบุรีโมทด้วยค่าสถานะ--remoteเมื่อต้องการส่งบันทึกของคุณ ส่งผ่านค่าสถานะ--pushสําหรับข้อมูลเพิ่มเติมเกี่ยวกับอาร์กิวเมนต์ที่เป็นไปได้ ให้อ้างอิงคู่มือ GitHub CLI
การเพิ่มที่เก็บภายในเครื่องใน GitHub โดยใช้ Git
ทําตามขั้นตอนเหล่านี้เพื่อเพิ่มที่เก็บภายในเครื่องโดยใช้ Git:
สร้าง ที่เก็บข้อมูลใหม่บน GitHub.com เพื่อหลีกเลี่ยงข้อผิดพลาด อย่าเริ่มต้นที่เก็บใหม่ด้วย README สิทธิ์การใช้งาน หรือ
gitignore filesคุณสามารถเพิ่มไฟล์เหล่านี้หลังจากที่โครงการของคุณถูกส่งไปยัง GitHub
เปิด Git Bash
เปลี่ยนไดเรกทอรีการทํางานปัจจุบันเป็นโครงการภายในเครื่องของคุณ
เตรียมใช้งานไดเรกทอรีภายในเครื่องเป็นที่เก็บ Git
$ git init -b mainเพิ่มไฟล์ในที่เก็บภายในเครื่องใหม่ของคุณ คําสั่งนี้ยังมีลําดับขั้นสําหรับการยอมรับครั้งแรก
$ git add . # Adds the files in the local repository and stages them for commit. To unstage a file, use 'git reset HEAD YOUR-FILE'.ยอมรับไฟล์ที่อยู่ในที่เก็บภายในเครื่องของคุณ
$ 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.ที่ด้านบนของที่เก็บของคุณในหน้า การตั้งค่าด่วน ของ GitHub.com ให้เลือกปุ่ม คัดลอก เพื่อคัดลอก URL ที่เก็บระยะไกล
screenshot copy remote repository url quick setup
screenshot copy remote repository url quick setupการตั้งค่าด่วนของที่เก็บสกรีนช็อต
ในพร้อมท์คําสั่ง เพิ่ม URL สําหรับที่เก็บระยะไกล ที่เก็บภายในเครื่องของคุณจะถูกส่งไปยังตําแหน่งที่ตั้งนี้
$ git remote add origin <REMOTE_URL> # Sets the new remote $ git remote -v # Verifies the new remote URLส่งการเปลี่ยนแปลง ในที่เก็บภายในเครื่องของคุณไปยัง 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 จากการควบคุมเวอร์ชันส่วนกลาง