GitHub是使用Git的版本控制系統是一個基于網絡的托管服務的軟件開發項目。它也有其標準的GUI應用程序可供下載(在Windows,Mac,GNU/Linux)的直接從服務的網站。但在這個環節中,我們將只能看到CLI部分。
## 創建GitHub的資料庫
去到 [github.com](https://github.com/). 如果您已經GitHub的帳戶,然后使用該帳戶登錄,或創建新的。從 [github.com](https://github.com/) 網站按照以下步驟來創建新的存儲庫。
推送操作
Sampson 決定使用GitHub上服務器。要開始新的項目,他將創建一個新的目錄和一個文件里面。
[sampson@CentOS]$ mkdir github_repo
[sampson@CentOS]$ cd github_repo/
[sampson@CentOS]$ vi hello.c
[sampson@CentOS]$ make hello
cc hello.c -o hello
[sampson@CentOS]$ ./hello
上面的命令會產生以下結果。
Hello, World !!!
在驗證自己的代碼后,他在初始化目錄用git init命令在本地提交他的變化。
[sampson@CentOS]$ git init
Initialized empty Git repository in /home/sampson/github_repo/.git/
[sampson@CentOS]$ git status -s
?? hello
?? hello.c
[sampson@CentOS]$ git add hello.c
[sampson@CentOS]$ git status -s
A hello.c
?? hello
[sampson@CentOS]$ git commit -m 'Initial commit'
之后,他增加了GitHub的版本庫URL作為一個遠程的起源,并推他到遠程倉庫。
> 注:我們已經討論了所有這些步驟在第4章下創建裸庫部分。
[sampson@CentOS]$ git remote add origin https://github.com/kangralkar/testing_repo.git
[sampson@CentOS]$ git push -u origin master
推送操作會詢問 GitHub 的用戶名和密碼。驗證成功后,操作會成功。
上面的命令會產生以下結果。
Username for 'https://github.com': 12xuedemo
Password for 'https://12xuedemo@github.com':
Counting objects: 3, done.
Writing objects: 100% (3/3), 214 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/12xuedemo/test_repo.git
* [new branch] master ?> master
Branch master set up to track remote branch master from origin.
從現在開始,Sampson 可以在 GitHub 庫做任何更改。他可以使用本章討論的所有命令在 GitHub 的倉庫中。
## Pull 操作
Sampson 成功地把他所有的變化GitHub的庫。現在其他開發人員可以查看這些更改進行克隆操作或更新他們的本地資源庫。
Byron 在他的home目錄和克隆的GitHub庫使用git clone命令創建新的目錄。
[byron@CentOS]$ pwd
/home/byron
[byron@CentOS]$ mkdir byron_repo
[byron@CentOS]$ git clone https://github.com/12xuedemo/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命令的目錄內容。
[byron@CentOS]$ ls
test_repo
[byron@CentOS]$ ls test_repo/
hello.c