Git之使用GitHub搭建遠程倉庫

引言:

在前面,介紹瞭如何使用Git,構建我們的本地倉庫,輕鬆的實現了版本控制以及代碼還原,修改日誌查看等;假如是多個人一起來開發一個程序呢?則需要一個作爲服務器的遠程倉庫!當然搭建一個服務器是需要成本的,爲什麼不把項目託管到Github上呢?作爲開源代碼庫以及版本控制系統,Github擁有140多萬開發者用戶。隨着越來越多的應用程序轉移到了雲上,Github已經成爲了管理軟件開發以及發現已有代碼的首選方法,不需要任何成本,爲何不使用呢?是吧!

1、賬號註冊&倉庫創建:

打開Github官網註冊:Github官網,填寫註冊相關信息:用戶呢稱,郵箱,密碼

註冊完,跳轉到如下頁面,選擇倉庫購買方式(私有倉庫,別人不可以訪問,要權限),一般我們自己玩選Free: PS:對了,這時候你郵箱可能收到一封驗證郵件,點下完成驗證。

接下來,創建一個我們的代碼倉庫: 

爲自己的倉庫添加點內容提示,就是項目的一些概述(可寫可不寫)

簡單介紹下主頁的一些東西:


2、Clone代碼庫到本地

當然,你可以直接用圖形化界面克隆,不過我還是喜歡通過命令行來Clone,先複製下Clone的地址 

然後在某個地方,有鍵打開git Bash:

鍵入:

git clone https://github.com/ZPJay/Garbage.git

然後可以看到我們的代碼庫就下載完成了:

打開文件夾,可以看到下述內容:


3、分支管理

對於剛接觸版本控制工具的朋友來說,分支可能比較陌生,但是它會給我們帶來很大的便利!有興趣的可以瞭解:曹雪峯的官方網站:創建和合並分支http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001375840038939c291467cc7c747b1810aab2fb8863508000

首先,我們創建dev分支,然後切換到dev分支:

$ git checkout -b dev
Switched to a new branch 'dev'

git checkout命令加上-b參數表示創建並切換,相當於以下兩條命令:

$ git branch dev
$ git checkout dev
Switched to branch 'dev'

然後,用git branch命令查看當前分支:

$ git branch
* dev
  master

git branch命令會列出所有分支,當前分支前面會標一個*號。

然後,我們就可以在dev分支上正常提交,比如對readme.txt做個修改,加上一行:

Creating a new branch is quick.

然後提交:

$ git add readme.txt 
$ git commit -m "branch test"
[dev fec145a] branch test
 1 file changed, 1 insertion(+)

現在,dev分支的工作完成,我們就可以切換回master分支:

$ git checkout master
Switched to branch 'master'

切換回master分支後,再查看一個readme.txt文件,剛纔添加的內容不見了!因爲那個提交是在dev分支上,而master分支此刻的提交點並沒有變:

git-br-on-master

現在,我們把dev分支的工作成果合併到master分支上:

$ git merge dev
Updating d17efd8..fec145a
Fast-forward
 readme.txt |    1 +
 1 file changed, 1 insertion(+)

git merge命令用於合併指定分支到當前分支。合併後,再查看readme.txt的內容,就可以看到,和dev分支的最新提交是完全一樣的。

注意到上面的Fast-forward信息,Git告訴我們,這次合併是“快進模式”,也就是直接把master指向dev的當前提交,所以合併速度非常快。

當然,也不是每次合併都能Fast-forward,我們後面會講其他方式的合併。

合併完成後,就可以放心地刪除dev分支了:

$ git branch -d dev
Deleted branch dev (was fec145a).

刪除後,查看branch,就只剩下master分支了:

$ git branch
* master

因爲創建、合併和刪除分支非常快,所以Git鼓勵你使用分支完成某個任務,合併後再刪掉分支,這和直接在master分支上工作效果是一樣的,但過程更安全。

小結

Git鼓勵大量使用分支:

查看分支:git branch

創建分支:git branch <name>

切換分支:git checkout <name>

創建+切換分支:git checkout -b <name>

合併某分支到當前分支:git merge <name>

刪除分支:git branch -d <name>



4、本地倉庫與遠程倉庫同步問題

前面執行的這些分支操作都是在本地進行的,說了項目託管到GitHub上,肯定要跟遠程倉庫有交流是吧!可以用clone命令把項目下載到本地,那麼修改後如何把代碼同步到Github上呢?先對本地倉庫做一點點修改,接着git add和git commit本地準備後,然後:

1. git remote add origin [email protected]:帳號/倉庫名     與遠程倉庫相關聯

2. git pull --rebase origin master       該條指令執行後,會在本地倉庫生成一個與遠程倉庫一致的README.md

3. git push origin master 或者直接 git push   	將本地master分支的內容推送到遠程倉庫
4.git pull 	從遠程倉庫中同步內容到本地倉庫


5、題外話

使用情況可以如下: ①使用Github作爲項目管理工具:把項目託管到Github上的,然後有兩個分支:開發和測試兩個分支,每個版本一個分支,最後發佈時才把分支合併到master上!提bug也是在上面提的,還是比較便利的! ②使用Trello來做流程控制,也是比較簡潔高效的!另外,國內訪問Github可能比較緩慢,而且如果是私有倉庫是要收費的。不過可以考慮下使用國產的開源倉庫:Git@OSC,由開源中國提供的,提供了1000個私人倉庫,有興趣的可以考慮將代碼託管到這裏:http://git.oschina.net/!如果文中有錯誤紕漏,歡迎指出,謝謝~

發佈了39 篇原創文章 · 獲贊 14 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章