64位windows 7下成功配置TortoiseGit使用Github服務器

(轉)git

        最近感受本身電腦上的代碼太亂了,東一塊、西一塊……因而決定使用正規的源代碼管理軟件來管理本身之後寫的代碼。之前作小項目的時候用過 TortoiseSVN,感受不錯,可是速度上有點慢,因而決定嘗試一下新東西——Git。經過網絡發現Git很火,看看下面的文字你就會知道Git有多 火。程序員

        Git 是一個分佈式的版本控制系統,最初由Linus Torvalds編寫,用做Linux內核代碼的管理。在推出後,Git在其它項目中也取得了很大成功,尤爲是在Ruby社區中。目前,包括 Rubinius和Merb在內的不少知名項目都使用了Git。Git一樣能夠被諸如Capistrano和Vlad the Deployer這樣的部署工具所使用。 github

        目前大部分的版本控制都須要一個服務器端,commit時提交到服務器端。git雖然是分佈式的管理工具,但它也可使用集中管理的方式。舉例來 說,billy建立了一個新項目,tom以爲這個項目比較有意思,他想玩玩看,他能夠把整個repo(reoisitories)都clone到本地,並 且在他clone下來的項目中本身有一個repo。tom能夠自由的對這個repo作各類提交修改,直到他滿意爲止。這時tom能夠告訴billy,他改 了一些什麼,若billy以爲不錯,能夠從tom那邊fetch並merge到本地。 web

        如前所述,做爲一個分佈式的版本控制系統,在Git中並不存在主庫這樣的概念,每一份複製出的庫均可以獨立使用,任何兩個庫之間的不一致之處均可以進行合 並。正由於如此,因此有了Github這個網站,github是基於ruby的並揉合多種語言進行開發的,上面的ruby項目也很是活躍。在github 中,每一個人均可以有多個repo,這些repo都是與用戶綁定在一塊兒的。user之間能夠互相clone repo、fork repo、watch repo或是 follow其餘user,就好像twitter或是plurk等社交網站同樣。 windows

        不過若使用免費的github則全部的repo都要是public且有300M容量的限制。若但願有private的repo,則須要跟付費纔可。github另外還有剪貼簿的功能,可將代碼貼到其中並自由的發展各類branch。 api

        GitHub 能夠託管各類git庫,並提供一個web界面,但與其它像 SourceForge或Google Code 這樣的服務不一樣,GitHub的獨特賣點在於從另一個項目進行分支的簡易性。爲一個項目貢獻代碼很是簡單:首先點擊項目站點的「fork」的按 鈕,而後將代碼檢出並將修改加入到剛纔分出的代碼庫中,最後經過內建的「pull request」機制向項目負責人申請代碼合併。已經有人將GitHub稱爲代碼玩家的Facebook。ruby

        看了上面的簡介,感受不錯吧。那咱們如今開始行動吧。bash

1 下載並安裝相關軟件

        這裏主要涉及的軟件包括msysgit和TortoiseGit。服務器

msysgit的下載地址:http://msysgit.googlecode.com/files/Git-1.7.4-preview20110204.exe網絡

TortoiseGit的下載地址:http://code.google.com/p/tortoisegit/downloads/list(選擇你心儀的版本下載)

        在安裝 TortoiseGit 以前,你的 Windows PC 上必須先安裝 msysgit。由於此程序提供了 Git 核心。並且安裝順序是:先安裝 msysgit,而後安裝 TortoiseGit。 若是你弄反了,也沒有關係,能夠進入 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/

        須要指出的是這些教程使用的是msysgit提供的git bash,若是你們對命令行很感冒,那麼那些教程基本上就夠你們參考了,無需再瀏覽本文;不然懇請各位繼續欣賞下文。

3 環境配置

        本着學習的態度,我按照上述教程走了一下,發現問題:github ssh: connect to host github.com port 22

本人愚鈍,沒有解決該問題……因而仍是回到開始的想法,使用TortoiseGit管理本身的Github項目。

3.1 在TortoiseGit配置MSysGit

       在開始菜單中找到TortoiseGit的Settings一項,如圖1所示。

image

圖 1 TortoiseGit中Settings的位置

 

因爲我是64位的電腦,因此會顯示Settings (64 bit)。左鍵點擊後,進入TortoiseGit的設置界面。能夠清楚的看到,MSysGit已經配置好了。若是Git.exe的位置爲空,請你們本身手動設置好。

2011-06-23_013648

圖 2 TortoiseGit的設置界面

 

3.2 創建測試項目HelloGit

        在想放置項目的位置新建一個文件夾,名稱爲HelloGit,右鍵單擊該文件夾,選擇"Git Create repository here…",也就是建立本地的代碼庫。此時會彈出對話框,選擇"OK"。(PS:不用搭理哪一個複選框)隨後會提示成功建立了一個空的代碼倉庫。

2011-06-23_014923

2011-06-23_015119

3.3 向HelloGit添加文件並更新項目到本地版本庫中

        新建一個README文件,隨意填寫一些信息。而後郵件單擊README,選擇"Git Add…",就是將README文件添加到本地HelloGit項目中。

2011-06-23_015611

單擊"OK"後,顯示以下對話框。2011-06-23_015757

單擊"commit",將更新提交到本地版本庫中。

2011-06-23_020039

別忘了在"Message"中填寫這次提交所完成的任務,便於之後查看提交信息,對項目的進度有所掌握。單擊"OK",繼續。

2011-06-23_020315

3.4 創建溝通遠程版本庫與TortoiseGit的聯繫

        這裏提到的溝通橋樑就是通訊中使用的密鑰。TortoiseGit 使用擴展名爲ppk的密鑰,而不是ssh-keygen生成的rsa密鑰。也就是說使用ssh-keygen -C "username@email.com" -t rsa產生的密鑰在TortoiseGit中不能用。而基於github的開發必需要用到rsa密鑰,所以須要用到TortoiseGit的putty key generator工具來生成既適用於github的rsa密鑰也適用於TortoiseGit的ppk密鑰。

        運行TortoiseGit開始菜單中的puttygen程序,點擊「Generate」按鈕,鼠標在上圖的空白地方來回移動直到進度條完畢,就會自動生一個隨機的key。

2011-06-23_022220

        登陸Github官網,點擊右上角的"Account Settings",選擇SSH Public Keys->Add another public key,將上面生成的Key粘貼進來,選擇"Add Key"。公鑰添加完畢。而後點擊上面對話框中的"Save private key",將私鑰保存在本地,文件後綴是ppk。

        運行TortoiseGit開始菜單中的Pageant程序,程序啓動後將自動停靠在任務欄中,圖標顯示爲64位windows 7下成功配置TortoiseGit使用Github服務器 - 哼哈二將 - 尚武思文,雙擊該圖標,彈出key管理列表。點擊"Add Key",選擇剛纔保存的ppk文件,這樣私鑰就添加到key管理列表中了。

3.5 更新項目到遠程版本庫中

        這是咱們的最後一步啦!可是前提是咱們得在TortoiseGit中配置好"Remote"。右鍵單擊HelloGit項目,選擇TortoiseGit->Settings,彈出以下對話框。

2011-06-23_020904

        咱們須要作的工做就是配置Git的Remote項。

Remote就是給該項目起個名稱,咱們就是HelloGit;

Url就 是Github上對應的遠程版本庫的網絡地址。各位有沒有認真看前面給的教程呀,創建一個Repo應該沒有問題吧。在本地key管理列表添加好本身的私鑰 了吧,在github上的相應項目中添加好本身的公鑰了吧,那咱們能夠繼續了,否則還得返回到3.4。在網站上進入你的項目中,會看到以下信息:

2011-06-23_023357

前面我已經講了,在個人電腦上使用SSH,沒法鏈接到github,因此此處我選擇的是HTTP的方式。git@github.com:username/reponame.git就是咱們須要的Url。(PS:username和reponame應該是跟你的設置對應的,在使用中你可別真的原封不動地使用git@github.com:username/reponame.git,這但是連不上服務器的)

Putty處須要填的信息就是咱們在本地保存的私鑰文件的路徑。

        填好這三項後,點擊"Add New",就會在左邊的列表中顯示咱們添加好的Remote信息。好了,咱們能夠進行最後一項工做了。右鍵單擊項目HelloGit文件夾,選擇 TortoiseGit->Push,彈出對話框,選擇剛纔添加的Remote信息,單擊"OK",成功推送!

2011-06-23_024539

        好了,已經很晚了,祝各位晚安!若有問題,歡迎批評指正!

相關文章
相關標籤/搜索