標籤:
本教程講解使用第三方工具TortoiseGit提交代碼到GitHub中,GitHub自己提供了同步工具。GitHub內建的工具 慕課網 上有視頻教程可以參考。
Git 是一個分布式的版本控制系統,最初由Linus Torvalds編寫,用作Linux核心代碼的管理。在推出後,Git在其它項目中也取得了很大成功,尤其是在Ruby社區中。目前,包括 Rubinius和Merb在內的很多知名項目都使用了Git。Git同樣可以被諸如Capistrano和Vlad the Deployer這樣的部署工具所使用。
目前大部分的版本控制都需要一個伺服器端,commit時提交到伺服器端。git雖然是分布式的管理工具,但它也可以使用集中管理的方式。舉例來說,billy建立了一個新項目,tom覺得這個項目比較有意思,他想玩玩看,他可以把整個repo(reoisitories)都clone到本地,並且在他clone下來的項目中自己有一個repo。tom可以自由的對這個repo做各種提交修改,直到他滿意為止。這時tom可以告訴billy,他改了一些什麼,若billy覺得不錯,可以從tom那邊fetch並merge到本地。
如前所述,作為一個分布式的版本控制系統,在Git中並不存在主庫這樣的概念,每一份複製出的庫都可以獨立使用,任何兩個庫之間的不一致之處都可以進行合并。正因為如此,所以有了Github這個網站,github是基於ruby的並揉合多種語言進行開發的,上面的ruby項目也非常活躍。在github 中,每個人都可以有多個repo,這些repo都是與使用者綁定在一起的。user之間可以互相clone repo、fork repo、watch repo或是 follow其他user,就好像twitter或是plurk等社交網站一樣。
不過若使用免費的github則所有的repo都要是public且有300M容量的限制。若希望有private的repo,則需要跟付費才可。github另外還有剪貼簿的功能,可將代碼貼到其中並自由的發展各種branch。
GitHub 可以託管各種git庫,並提供一個web介面,但與其它像 SourceForge或Google Code這樣的服務不同,GitHub的獨特賣點在於從另外一個項目進行分支的簡易性。為一個項目貢獻代碼非常簡單:首先點擊項目網站的“fork”的按 鈕,然後將代碼檢出並將修改加入到剛才分出的程式碼程式庫中,最後通過內建的“pull request”機制向項目負責人申請代碼合并。已經有人將GitHub稱為代碼玩家的Facebook。
看了上面的簡介,感覺不錯吧。那我們現在開始行動吧
1 下載並安裝相關軟體
這裡主要涉及的軟體包括msysgit和TortoiseGit。
msysgit的:http://msysgit.googlecode.com/files/Git-1.7.4-preview20110204.exe
TortoiseGit的:http://code.google.com/p/tortoisegit/downloads/list(選擇你心儀的版本下載)
百度云:連結:http://pan.baidu.com/s/1o6zGNai 密碼:fd5f TortoiseGit分為32和64位的,根據自己的系統去下載,
安裝順序是:先安裝 msysgit,然後安裝 TortoiseGit 。因為msysgit提供了Git 核心。如果你弄反了,也沒有關係,可以進入 TortoiseGit 的設定介面(右鍵菜單上 TortoiseGit -> Settings -> General -> MSysGit -> Path),手動指定 Git 核心檔案的位置(例如 c:\Program Files\Git\bin)。發現沒有,當你進入設定介面的時候,已經配置好了,不得不說現在的軟體做得可真周到。
2 在github.com上建立自己的帳號
前文說了,github就是程式員的facebook,所以我們應該有自己的帳號。帳號分兩種,免費帳號和付費帳號。使用免費的github,所有的repo都要是public(公開的)且有300M容量的限制;若希望有private的repo,則需要付費才可。本著自由交流的態度,還是申請一個免費的帳號吧。這個流程很容易,我就不多說了。
註冊後,github會為大家提供幾個教程,協助大家快速學習掌握github的使用方法。地址如下:
Set Up Git教程:http://help.github.com/win-set-up-git/
Create a Repo教程:http://help.github.com/create-a-repo/
或者去慕課網: http://www.imooc.com/learn/208
github主要是學會建立項目,是我建立的一個項目,項目名是new
3 環境配置
msysgit,TortoiseGit 一路預設安裝就可以。安裝TortoiseGit 後,滑鼠右鍵可以看到
點擊setting是,可以看到,說明兩個軟體已經關聯上了。
圖 2 TortoiseGit的設定介面
3.1 建立測試專案new
首次建立一個new的檔案夾,這裡我在C盤建立了一個名為new的檔案夾。選擇new檔案夾,滑鼠右鍵選擇"Git Create repository here…",也就是建立本地的程式碼程式庫。此時會彈出對話方塊,選擇"OK"。(PS:不用搭理哪個複選框)隨後會提示成功建立了一個空的代碼倉庫。
3.2 向new檔案夾添加檔案並更新項目到本地版本庫中
在new目錄下建立一個new.html檔案,隨意填寫一些資訊。然後郵件單擊new.html,選擇"Git Add…",就是將new.html檔案添加到本地new項目中。
3.3 TortoiseGit 與 Github 建立遠程版本庫
TortoiseGit 使用副檔名為ppk的密鑰,需要用到TortoiseGit的putty key generator工具來產生既適用於github的rsa密鑰也適用於TortoiseGit的ppk密鑰。開始菜單中找到puttygen,並且開啟
之後產生一個密鑰如,並複製密鑰
登入Github官網,點擊右上方的settings表徵圖——》sshkeys——》add SSH key
之後處理key
公開金鑰添加完畢。然後回到 Puttygen 工具點擊上面對話方塊中的"Save private key",將私密金鑰儲存在本地,檔案尾碼是ppk(之後會用到這個ppk檔案)。
找到之前建立的new 檔案夾,在檔案夾上滑鼠右鍵,並且找到settings,點擊出現如下介面。
在Remote 中填寫填寫項目名稱new,Putty處需要填的資訊就是我們在本地儲存的私密金鑰檔案的路徑。URL是github中進入“new”項目的右側複製出來的,如:
填好這三項後,點擊"Add New",就會在左邊的列表中顯示我們添加好的Remote資訊。關聯完畢關閉setting視窗。
3.4 更新項目到遠程版本庫中
我們可以進行最後一項工作了。按右鍵項目new檔案夾,選擇TortoiseGit->Pull,從github中下載檔案。
下載之後,通過push把之前提交的檔案推送到github中。之後就能在github網站上查看自己提交的上去的檔案了。
參考:http://our2848884.blog.163.com/blog/static/146854834201152325233854
64位windows 7下成功配置TortoiseGit使用Github伺服器