Git - ที่เก็บออนไลน์
GitHubคือบริการโฮสติ้งบนเว็บสำหรับโครงการพัฒนาซอฟต์แวร์ที่ใช้ระบบควบคุมการแก้ไข Git นอกจากนี้ยังมีแอปพลิเคชัน GUI มาตรฐานสำหรับดาวน์โหลด (Windows, Mac, GNU / Linux) โดยตรงจากเว็บไซต์ของบริการ แต่ในเซสชั่นนี้เราจะเห็นเฉพาะส่วนของ CLI
สร้าง GitHub Repository
ไปที่github.com หากคุณมีไฟล์GitHubจากนั้นเข้าสู่ระบบโดยใช้บัญชีนั้นหรือสร้างบัญชีใหม่ ทำตามขั้นตอนจากเว็บไซต์github.comเพื่อสร้างที่เก็บใหม่
ผลักดันการทำงาน
ทอมตัดสินใจใช้ไฟล์ GitHubเซิร์ฟเวอร์ ในการเริ่มโปรเจ็กต์ใหม่เขาจะสร้างไดเร็กทอรีใหม่และไฟล์หนึ่งไฟล์ภายในนั้น
[tom@CentOS]$ mkdir github_repo
[tom@CentOS]$ cd github_repo/
[tom@CentOS]$ vi hello.c
[tom@CentOS]$ make hello
cc hello.c -o hello
[tom@CentOS]$ ./hello
คำสั่งดังกล่าวจะให้ผลลัพธ์ดังต่อไปนี้:
Hello, World !!!
หลังจากตรวจสอบรหัสแล้วเขาเริ่มต้นไดเร็กทอรีด้วยคำสั่ง git init และยอมรับการเปลี่ยนแปลงภายในเครื่อง
[tom@CentOS]$ git init
Initialized empty Git repository in /home/tom/github_repo/.git/
[tom@CentOS]$ git status -s
?? hello
?? hello.c
[tom@CentOS]$ git add hello.c
[tom@CentOS]$ git status -s
A hello.c
?? hello
[tom@CentOS]$ git commit -m 'Initial commit'
หลังจากนั้นเขาก็เพิ่มไฟล์ GitHub URL ที่เก็บเป็นจุดเริ่มต้นระยะไกลและผลักดันการเปลี่ยนแปลงไปยังที่เก็บระยะไกล
[tom@CentOS]$ git remote add origin https://github.com/kangralkar/testing_repo.git
[tom@CentOS]$ git push -u origin master
การดำเนินการกดจะถามหา GitHubชื่อผู้ใช้และรหัสผ่าน หลังจากตรวจสอบสิทธิ์สำเร็จแล้วการดำเนินการจะสำเร็จ
คำสั่งดังกล่าวจะให้ผลลัพธ์ดังต่อไปนี้:
Username for 'https://github.com': kangralkar
Password for 'https://[email protected]':
Counting objects: 3, done.
Writing objects: 100% (3/3), 214 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/kangralkar/test_repo.git
* [new branch] master −> master
Branch master set up to track remote branch master from origin.
จากนี้ทอมสามารถผลักดันการเปลี่ยนแปลงใด ๆ ในไฟล์ GitHubที่เก็บ เขาสามารถใช้คำสั่งทั้งหมดที่กล่าวถึงในบทนี้กับไฟล์GitHub ที่เก็บ
ดึงการทำงาน
ทอมประสบความสำเร็จในการผลักดันการเปลี่ยนแปลงทั้งหมดของเขาไปที่ GitHubที่เก็บ ขณะนี้นักพัฒนารายอื่นสามารถดูการเปลี่ยนแปลงเหล่านี้ได้โดยดำเนินการโคลนหรืออัปเดตที่เก็บในเครื่อง
เจอร์รี่สร้างไดเร็กทอรีใหม่ในโฮมไดเร็กทอรีของเขาและโคลนไฟล์ GitHub ที่เก็บโดยใช้คำสั่ง git clone
[jerry@CentOS]$ pwd
/home/jerry
[jerry@CentOS]$ mkdir jerry_repo
[jerry@CentOS]$ git clone https://github.com/kangralkar/test_repo.git
คำสั่งดังกล่าวสร้างผลลัพธ์ต่อไปนี้:
Cloning into 'test_repo'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 3 (delta 0)
Unpacking objects: 100% (3/3), done.
เขาตรวจสอบเนื้อหาไดเร็กทอรีโดยดำเนินการคำสั่ง ls
[jerry@CentOS]$ ls
test_repo
[jerry@CentOS]$ ls test_repo/
hello.c