Git是一個分布式的版本控制系統(tǒng),作為開源代碼庫以及版本控制系統(tǒng),Github目前擁有140多萬開發(fā)者用戶。隨著越來越多的應用程序轉移到了云上,Github已經成為了管理軟件開發(fā)以及發(fā)現已有代碼的首選方法。
> Git是一個分布式的版本控制系統(tǒng),最初由Linus Torvalds編寫,用作Linux內核代碼的管理。在推出后,Git在其它項目中也取得了很大成功,尤其是在Ruby社區(qū)中。目前,包括 Rubinius和Merb在內的很多知名項目都使用了Git。Git同樣可以被諸如Capistrano和Vlad the Deployer這樣的部署工具所使用。
>
如前所述,作為一個分布式的版本控制系統(tǒng),在Git中并不存在主庫這樣的概念,每一份復制出的庫都可以獨立使用,任何兩個庫之間的不一致之處都可以進行合并。
>
GitHub可以托管各種git庫,并提供一個web界面,但與其它像 SourceForge或Google Code這 樣的服務不同,GitHub的獨特賣點在于從另外一個項目進行分支的簡易性。為一個項目貢獻代碼非常簡單:首先點擊項目站點的“fork”的按鈕,然后將 代碼檢出并將修改加入到剛才分出的代碼庫中,最后通過內建的“pull request”機制向項目負責人申請代碼合并。已經有人將GitHub稱為代碼玩家的MySpace。
>
百度百科:http://baike.baidu.com/view/3366456.htm
今天我們就來學習github的使用,我們將用它來管理我們的代碼,你會發(fā)現它的好處的,當然是要在本系列教程全部完成之后,所以請緊跟站長的步伐,今天是第一天,我們來學習如何在git上建立自己的版本倉庫,并將代碼上傳到倉庫中。
### 教程【一】
一、注冊一個免費git帳號,可以無限建立訪問權限為公共的版本倉庫,注冊地址:https://github.com/signup/free
二、依次填寫,用戶名【昵稱】、郵箱地址【用來登錄】、密碼,點擊“creat an account”進行注冊
三、點擊右上方的”sign in”使用注冊郵箱登錄到git
四、點擊右上方,你的用戶名之后的圖標,新建一個版本倉庫
五、在“Repository name”一欄里填寫版本倉庫的名稱,我們假設為”test”,Description欄是描述,可填可不填。
默認訪問權限為公共,我們點擊”Creating Repository”按鈕,創(chuàng)建我們的第一個版本倉庫。
接下來,我們需要在本地安裝git客戶端。
六、以windows為例,下載客戶端:http://github-windows.s3.amazonaws.com/GitHubSetup.exe,安裝完成后,會在桌面上出現兩個圖標,Git Shell和GitHub。
七、那兩個圖標分別是命令行工具和圖形界面,我們先來學習使用shell。
八、雙擊打開Git Shell,【win7用戶使用管理員權限打開】
九、輸入git config --global user.name "d1php"
,這里的d1php是站長注冊的用戶名,你得改成你自己的
十、輸入git config --global user.email "studyphp@yahoo.cn"
,這里的郵箱也是是站長注冊的郵箱,你得改成你自己的
十一、上面兩步在客戶端配置你的git帳戶,下面我們在本地建立自己的版本倉庫,站長把版本倉庫建立在D盤。輸入cd d:
,切換到D盤目錄。
十二、輸入mkdir test
,建立一個test目錄,注意本地倉庫名要和git中建立的倉庫名一樣
十三、輸入cd test
,進入test目錄
十四、輸入git init
,初始化版本倉庫
十五、輸入touch README
,建立一個README文件
十六、用文本編輯器打開README文件,隨便輸入一點文件,比如:this is a test!
十七、輸入git add README
,將文件添加到上傳隊列
十八、輸入git commit -m 'test commit'
,緩存提交,引號中的是對本次提交的描述,必須填寫,不能為空
十九、輸入git remote add origin https://github.com/_d1php_/test.git
,注意url格式,d1php是你注冊時的昵稱,test是你剛才建立的版本倉庫
二十、輸入git push origin master
,將README文件上傳到版本庫。這一步會一次讓你填寫你的git注冊郵箱和密碼,注意不要填錯了
好了,到這一步,我們就完成了在線上和線下建立git版本庫并上傳文件的全部步驟。下節(jié)課我們來學習GitHub的使用,圖形界面大家肯定更容易接受。
教程【二】
上一節(jié)課我們學習了git shell的初步使用,今天我們來學習github的圖形界面。
一、雙擊桌面上的GitHub圖標
二、在打開的界面中,點擊Log In,圖下圖所示:
三、在界面中輸入用戶名和密碼,如下圖所示:
四、點擊LOG IN,進入下圖所示界面:
五、點擊'continue',進入下圖所示界面:
六、提示我們沒有找到本地版本倉庫,這是因為git客戶端默認是在C盤的git目錄中查找版本庫,而我們在上節(jié)課中建立的版本倉庫在D盤,所以才找不到,沒關系我們自己來查找,點擊SKIP,進入下圖所示界面:
七、點擊'tools',在下拉菜單中選擇'options',進入下圖所示界面:
八、定位到D盤目錄,然后點擊SCAN FOR REPOSITORIE,掃描本地倉庫,如下圖所示:
九、很快就找到了我們上節(jié)課建立的版本倉庫,test,點擊左下方的add,再點擊update,進入下圖所示界面:
十、進入D:/test目錄,新建一個名為hello的txt文件,在其中輸入hello world!,然后點擊上圖中的箭頭打開版本庫,進入下圖所示界面:
十一、左邊欄會列出最新有改動的文件,右邊第一欄填寫對本次提交的描述,我們填'hello world';第二欄是詳細描述,可以不填。填完后點擊'commit'提交,進入下圖所示界面:
十二、在右邊我們可以看見剛才新建的提交:hello world,點擊publish,將我們的改動上傳到線上的git倉庫中。
十三、稍等片刻,即可完成上傳,如下圖所示:
上傳成功后,我們可以在左邊看見剛才完成的提交。然后我們訪問線上的倉庫,檢查一下:https://github.com/d1php/test
是的,線上的test倉庫又多了2個文件。
好了,到這里我們就已經使用GitHub圖形界面完成了一次文件上傳,下節(jié)課我們將回到gitshell的學習。我們將使用gitshell下載線上的版本倉庫到本地,如果對本教程有疑惑可以聯(lián)系站長哦。
教程【三】
今天我們來學習如何使用gitshell將線上的版本倉庫下載到本地。我們?yōu)槭裁匆丫€上的倉庫下載到本地,通常情況下是我們想要參與別人的項目。
github上面有一個項目:https://github.com/octocat/Spoon-Knife,點擊訪問它。
現在我們想要參與這個項目,需要進行以下步驟:
一、訪問上面的鏈接,點擊fork按鈕,
二、現在spoon-knife項目已經添加到你的線上版本倉庫中了,我們要下載它。打開gitshell,輸入https://github.com/d1php/Spoon-Knife.git
,注意這里的d1php應該是你注冊時的昵稱,在此使用了站長的帳號。
三、前兩節(jié)我們把版本倉庫建立在了D盤根目錄,因此這里默認是在D盤目錄只想的shell,進入D盤,會發(fā)現多了一個spoon-knife目錄,線上的源碼已經下載下來了。
四、輸入cd spoon-knife
五、輸入git remote add upstream https://github.com/octocat/Spoon-Knife.git
,這里我們使用的是原項目的地址,確保我們可以隨時跟蹤到原項目
六、輸入git fetch upstream
,獲取原項目最新的與你本地版本庫不同的修改,但是不修改你的本地文件
好了,如何將線上倉庫下載到本地就學習到這里,下節(jié)課我們學習如何建立版本分支。
教程【四】
學習,貴在持之以恒!歡迎大家跟站長繼續(xù)學習github的使用,今天我們將學習如何使用 gitshell建立版本分支。如果你想要在原項目的基礎上嘗試一些新的思路或者開發(fā)新功能、修改等等,你可以建立原項目的一個分支,這樣當進行修改時原 來的代碼是不會受到影響的。我們前幾節(jié)課建立一個test版本庫,今天我們來為它建立 一個分支。
一、打開gitshell,輸入 cd test
,進入本地的test版本庫
二、輸入git branch testbranch
三、輸入git checkout testbranch
,將testbranch分支設置為當前工作分支
四、輸入git add ./
,將test目錄的所有文件添加至上傳隊列
五、輸入git commit -m 'newbranch'
,緩存提交
六、輸入git remote add origin https://github.com/d1php/test.git
,配置上傳目標倉庫
七、輸入git push -u origin testbranch
,將文件上傳到分支
然后訪問:https://github.com/d1php/test/branches,會發(fā)現多出了一個分支testbranch!
怎么樣,今天的學習很輕松吧。明天我們將學習如何使用github圖像界面將線上倉庫中有改動的文件下載到本地,或者稱之為“版本同步”。
教程【五】
今天我們學習如何使用github圖形界面來讓我們本地的版本倉庫和線上的倉庫保持一致,或者說如何把線上倉庫中有改動的文件下載到本地。
一、首先,我們訪問https://github.com/d1php/test。還記得我們在第一節(jié)課建立的hello.txt文件嗎?如下圖所示:
二、雙擊該文件,來到下圖所示的界面:
三、點擊edit按鈕,并對文本進行一些修改,如下圖所示:
四、編輯完之后,點擊頁面最下方的commit changes按鈕:
五、打開github,如下圖所示:
六、點擊右邊的箭頭,打開本地倉庫,如下圖所示:
七、github會自動讀出最新的修改,并且上端會出現一個藍色sync【sync是同步的意思】按鈕。如果你沒有看見藍色的圖標,可以點擊F5刷新界面?,F在我們點擊sync按鈕,這樣github會將線上有改動的文件下載到本地,如下圖所示:
下載玩之后,藍色的sync會變成灰色的in sync,這說明最新的文件已經下載到本地的倉庫了,去檢查一下吧!怎么樣,沒錯吧。
感謝大家跟著站長進行了5天的學習,明天我們將繼續(xù)學習github圖形界面的使用,我們將學習如何使用github圖形界面來建立一個版本庫的分支。
教程【六】
學習,有時候就是一個漫長而枯燥的過程,但是當你走到終點時,回過頭來再看看這段路,則會露出滿不在乎的表情!今天我們學習如何使用gitgui來建立版本分支。
一、打開github圖形界面,點擊藍色箭頭打開我們之前建立的test倉庫,如下圖所示:
二、在打開的界面中,點擊master按鈕,如下圖所示:
三、在彈出的窗口中,點擊manage按鈕,如下圖所示:
四、進入分支界面,把鼠標移動到master分支上,并點擊加號,如下圖所示:
這會以master分支的文件為藍本建立一個新的分支。
五、點擊加號后,會彈出輸入框,輸入新分支的名稱,并點擊BRANCH按鈕創(chuàng)建分支,如下圖所示:
站長輸入是testbranch2,因為之前用gitshell建立一個testbranch分支。
六、創(chuàng)建完之后,會在當前頁面顯示新分支,如下圖所示:
點擊publish按鈕,將新分支發(fā)布到線上的git倉庫中。發(fā)布完之后,publish按鈕會變成unpublish,說明分支已經上傳到線上的倉庫中了。
七、訪問https://github.com/d1php/test/branches,查看分支情況,如下圖所示:
我們會發(fā)現,盡管顯示有3個分支,但是在頁面上只呈現了2個,新建立的沒有出現,這是因為默認是讀取master分支以及沒有與master整合的 分支,而我們剛才創(chuàng)建的testbranch2分支是以master為藍本,因此它們之間沒有任何不同,所以才沒有顯示。我們點擊branch下拉按鈕, 可以看見我們剛才建立的testbranch2分支。
八、點擊上圖中的testbranch2按鈕,進入下圖所示界面:
現在,我們可以在線上的版本倉庫中看見我們剛才建立的分支了。
九、現在我們回到第六步的github圖形界面,把鼠標移動到新建分支testbranch2上面,如下圖所示:
上圖中第一個紅圈包圍的圖標是用來刪除分支的,它將同時刪除本地和線上倉庫的分支;第二個紅圈僅僅刪除線上倉庫中的分支,本地分支會被保留。現在我們,點擊第一個紅圈包圍的圖標,將本地分支和線上分支同時刪除。
十、訪問https://github.com/d1php/test/branches,我們會發(fā)現剛才建立的testbranch2分支已經被刪除了,gitgui中也不再顯示該分支了。
ok,到此我們就學會了如何使用github圖形界面創(chuàng)建、發(fā)布、刪除分支,下節(jié)課我們將學習如何使用github圖形界面對分支版本進行操作。
您可能感興趣的文章:- C#/.NET使用git命令行來操作git倉庫的方法示例
- Git 命令行教程及實例教程(附github注冊)
- Windows 版本Git命令行的使用詳解