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