git是後來居上的版本控制工具,目前已經有很是多的的開源產品用此工具,但此版本控制和別的版本控制工具相比仍是有些不太同樣,本身走了些彎路,再次記錄一下。git
學習資料:github
http://forcefront.com/tag/organization/sql
http://www.worldhello.net/gotgithub/服務器
這兩個是中文學習資料,對入門頗有幫助。網絡
工具:smartgit,號稱這個工具很好,可是要註冊,不知道如何完成,雖然官方網站對我的開源產品能夠無償使用,可是個人安裝工具仍是過時了,若是有人知道如何使用告訴我一下啊。ssh
TortoiseGit,這個是比較有名的Tortoisesvn的移植版本,在svn的工具中一直是比較好用的工具。相信這個工具應該也不會使人失望。下面介紹的工具中,主要以這個工具爲準。ide
安裝TortoiseGit就不介紹了,安裝完成後,會在資源管理器的右鍵上有體現。svn
這個是很重要的一部分,由於剛開始的時候,我在這方面耽誤了一會時間。工具
TortoiseGit 使用擴展名爲ppk的密鑰,而不是ssh-keygen生成的rsa密鑰。也就是說使用ssh-keygen -C "username@email.com" -t rsa產生的密鑰在TortoiseGit中不能用。而基於github的開發必需要用到rsa密鑰,所以須要用到TortoiseGit的putty key generator工具來生成既適用於github的rsa密鑰也適用於TortoiseGit的ppk密鑰,配置步驟以下:學習
6)點擊上圖中的「Add Key」按鈕,將第4步保存的ppk私鑰添加進來,關閉對話框便可7)經上述配置後,你就可使用
TortoiseGit進行push、pull操做了。「Git Clone...」是得到遠程的版本庫,「Git Create repository here」是將選定的文件夾做爲要建立的版本庫。
在要建立版本庫的文件夾中點「Git Create repository here」後,會顯示:
點「Ok」就會在該文件夾的根目錄自動建立一個隱藏文件夾".git" 。
注意:最好找個空的文件夾練習操做,或者備份文件夾。好比誤選了Clean up把無版本控制的文件都刪了。
建立好以後,須要用git Sync...和服務器進行一次信息同步,同步後就能夠取到服務器中項目的版本信息等。
本地提交:
master是Git默認的主要分支(主幹),適合單人獨自開發。多人開發時能夠給每一個人建立一個分支。
切換版本:用switch/checkout命令在切換版本。
按Git Commit -> 「master」是將所選文件夾內容提交到用於彙總的庫上。
提交修改後,出現:
以上就是如何提交更改到本地的版本庫,因此不管有無網絡Git均可以用。
遠程提交:
本地Commit(提交)後,下面介紹的就是Push到遠程啦.
首先,在待提交的本地文件夾內右鍵單擊空白處,選擇 TortiseGit->Settings 。
而後選擇Config,並填寫github.com中的用戶名和郵箱。
固然填其餘的也能夠,這裏填的是每次提交後,版本庫中顯示出來的做者名和聯繫方式。
接着選擇Remote,能夠看見右圖有3個須要填寫的文本框。
Remote:遠程傳送的一個代號(能夠隨便起個名字,本身看得懂就行)
Url:github的url地址,例如:git@github.com:zhulinu/cloudsql.git
填好後點addnew增長便可。
要從本地文件夾更新至網絡庫,選中文件夾(必須是Git初始化過的),而後右鍵單擊,選擇TortoiseGit->Push...,彈出下列窗口。
選擇要push的本地分支,和遠程目標的分支,點「OK」。
要從網絡庫更新至本地文件夾,相應的,選擇TortoiseGit->Pull...。
在肯定你已經設置過Remote的狀況下,點「OK」就能夠了。
本地提交後,能夠不用手動遠程提交,只要網絡通,工具會自動同步到遠程,大概10分鐘左右把,固然也能夠手工遠程提交。