64位windows 7下成功配置TortoiseGit使用Github服务器
最近感覺自己電腦上的代碼太亂了,東一塊、西一塊……于是決定使用正規的源代碼管理軟件來管理自己以后寫的代碼。以前做小項目的時候用過TortoiseSVN,感覺不錯,但是速度上有點慢,于是決定嘗試一下新東西——Git。通過網絡發現Git很火,看看下面的文字你就會知道Git有多火。
????????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(選擇你心儀的版本下載)
??????? 在安裝 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所示。
圖 1 TortoiseGit中Settings的位置
?
由于我是64位的電腦,所以會顯示Settings (64 bit)。左鍵點擊后,進入TortoiseGit的設置界面。可以清楚的看到,MSysGit已經配置好了。如果Git.exe的位置為空,請大家自己手動設置好。
圖 2 TortoiseGit的設置界面
?
3.2 建立測試項目HelloGit
??????? 在想放置項目的位置新建一個文件夾,名稱為HelloGit,右鍵單擊該文件夾,選擇"Git Create repository here…",也就是創建本地的代碼庫。此時會彈出對話框,選擇"OK"。(PS:不用搭理哪個復選框)隨后會提示成功創建了一個空的代碼倉庫。
3.3 向HelloGit添加文件并更新項目到本地版本庫中
??????? 新建一個README文件,隨意填寫一些信息。然后郵件單擊README,選擇"Git Add…",就是將README文件添加到本地HelloGit項目中。
?
單擊"OK"后,顯示如下對話框。
單擊"commit",將更新提交到本地版本庫中。
?別忘了在"Message"中填寫此次提交所完成的任務,便于以后查看提交信息,對項目的進度有所掌握。單擊"OK",繼續。
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。
??????? 登錄Github官網,點擊右上角的"Account Settings",選擇SSH Public Keys->Add another public key,將上面生成的Key粘貼進來,選擇"Add Key"。公鑰添加完畢。然后點擊上面對話框中的"Save private key",將私鑰保存在本地,文件后綴是ppk。
??????? 運行TortoiseGit開始菜單中的Pageant程序,程序啟動后將自動停靠在任務欄中,圖標顯示為,雙擊該圖標,彈出key管理列表。點擊"Add Key",選擇剛才保存的ppk文件,這樣私鑰就添加到key管理列表中了。
3.5 更新項目到遠程版本庫中
??????? 這是我們的最后一步啦!但是前提是我們得在TortoiseGit中配置好"Remote"。右鍵單擊HelloGit項目,選擇TortoiseGit->Settings,彈出如下對話框。
??????? 我們需要做的工作就是配置Git的Remote項。
Remote就是給該項目起個名稱,我們就是HelloGit;
Url就是Github上對應的遠程版本庫的網絡地址。各位有沒有認真看前面給的教程呀,建立一個Repo應該沒有問題吧。在本地key管理列表添加好自己的私鑰了吧,在github上的相應項目中添加好自己的公鑰了吧,那我們可以繼續了,不然還得返回到3.4。在網站上進入你的項目中,會看到如下信息:
前面我已經講了,在我的電腦上使用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",成功推送!
原文地址:http://www.360doc.com/content/13/0622/16/203871_294766073.shtml
轉載于:https://www.cnblogs.com/fonyer/p/3894960.html
總結
以上是生活随笔為你收集整理的64位windows 7下成功配置TortoiseGit使用Github服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WPF之依赖属性和附加属性
- 下一篇: 咏南中间件集群解决方案