一、安裝
1.1 軟件準備
Win7 64位系統,Git-1.9.5-preview20150319.exe,TortoiseGit-1.8.14.0-64bit.msi。其中Git-1.9.5-preview是GIt的核心組件,只安裝這個軟件就可以用命令行的方式使用GIt。如果想用圖形化界面的方式使用Git就需要安裝TortoiseGit。
1.2 安裝Git-1.9.5-preview
雙擊Git-1.9.5-preview20150319.exe:
點擊“Next”:
點擊“Next”:
點擊"Browse"確定安裝位置後,點擊“Next”:
可以使用默認設置,點擊“Next”:
這個功能是在啓動菜單中創建Git條目,可以直接點擊“Next”:
在“Configuring the line ending conversions”選項中,
第一個選項:以windows格式檢出文件,以unix格式提交文件;檢出、提交文檔類文件建議選擇此選項
第二個選項:不改變檢出文件格式,提交文件時會轉換爲unix格式;代碼類建議選擇此選項
第三個選項:不改變檢出和提交的文件格式;建議默認使用這個選項
選擇完畢後點擊“Next”開始安裝:
安裝完畢後會出現:
取消“View ReleaseNotes.rtf”的選擇後點擊“Finish”。安裝完成。
1.2 安裝TortoiseGit
雙擊TortoiseGit-1.8.14.0-64bit.msi:
點擊“Next”:
點擊“Next”:
這是選擇GIt客戶端。可以選擇 TortoiseGitPlink(位於TortoiseGit安裝目錄/bin 下), 也可以選擇 Git 默認的SSH客戶端,位於 Git安裝目錄/bin/ssh.exe(如果配置了 Path,那直接是 ssh.exe)。這個可以使用默認的,如果安裝之後需要修改,在空白處點擊鼠標右鍵, 選擇 --> TortoiseGit --> Settings-->Network,在這個page中修改即可。點擊“Next”:
這是安裝組件以及選擇安裝位置。其中點擊“Browse”可以更改安裝位置。組件選擇可以全部使用默認設置。也可以開啓“Register github-windows://-link handler”,這個功能是便於TortoiseGit操控來自Github的鏈接。開啓方法是點擊對應的下拉菜單:
選中"Will be installed on local hadr drive",選"Entire feature will be installed on local hadr drive"也可以:
點擊“Next”:
點擊“Install”開始安裝:
Win7系統會彈出提示:
點擊“是”開始安裝,完成後點擊Finish:
如果不關心changelog則需要將“Show Changelog”取消選中,再點擊“Finish”。
如果沒有安裝Git-1.9.5-preview的話,在空白處點擊右鍵可以看到TortoiseGit的選項:
隨便點擊一個子項,比如Settings,會出現:
這說明TortoiseGit只是一個外殼,它需要與Git核心組件一起才能完成任務。按照信息的提示訪問https://msysgit.github.io/,或直接點擊"Open Git for Windows WebSite":
點擊"Download",即可得到Git-1.9.5-preview。
如果Git-1.9.5-preview安裝完畢則可以用TortoiseGit配置並使用Git了。二、配置
在空白處點擊鼠標右鍵, 選擇 --> TortoiseGit --> Settings-->Git:
這個對話框是提醒用戶Git使用的是多級配置,高等級配置會覆蓋低等級的。爲簡單起見,我們可以只設置一個級別的配置。點擊“OK”:
可以看到Git的配置分爲"System"、“Global”、“Local”、“Effective”四種。優先級由低到高,其中Effective是指當前生效的配置。Local配置優先級高於Global,Global高於System。因爲沒有本地Git庫,故現在Local的配置是灰的。我們可以只設置Global,點擊“Edit global .gitconfig”按鈕:
點擊“是”,在空白處填入下列內容:
保存,關閉。
點擊“確定”。
現在解釋一下這些配置的含義。
[user]
name = jason #用戶名,體現在提交的日誌中
email = [email protected] #郵件地址,體現在提交的日誌中
[alias] #別名,便於使用;比如git co等價於git checkout
co = checkout #j檢出
ci = commit #提交
dc = svn dcommit #git-svn同步代碼
st = status #查看本地狀態
di = diff #查看本地差異
br = branch #查看本地分支
[color] #顯示信息的顏色
status = auto #狀態信息顏色,即執行git st顯示的信息
branch = auto #分支的顏色,即執行git br顯示的信息
ui = true #顏色全部打開
[http]
sslVerify = false #避免提交時出現SSL驗證錯誤
[push]
default = simple #默認push策略爲simple,push的目的分支如果與本地的分支不同則會拒絕,安全性高一些
三、使用
Windows下Git主要有三種使用方式:Git Bash、Git Gui、TortoiseGit。建議使用Git Bash,因爲其使用方式與Linux十分相似,操作速度比較快,簡便易學,其它兩種方式這裏也會做簡要的介紹。
Git的功能很多,這裏只介紹最常用的幾個功能:clone遠程庫、添加文件並提交、修改文件並提交、代碼同步等。
3.1 Git Bash
在空白處點擊右鍵:
點擊“Git Bash”:
接下來所有的操作都會在這個界面中進行。
(1)clone一個Git庫
$git clone ssh://[email protected]/home/git/ndpc-doc
回車。第一次用ssh鏈接服務器時需要保存ssh密鑰指紋,輸入“yes”回車,在彈出密碼輸入提示時輸入密碼,如圖:
一個遠程的Git庫就成功clone到本地了。
(2)添加新文件
新添加的文件處於“未跟蹤”狀態,需要添加到Git庫中:
文件變爲綠色,表明已經成功添加,接下來可以提交了:
用“git st”顯示本地沒有提交的需要了,意味着提交成功。查看提交日誌:
“-1”選項的功能是隻顯示一次提交的日誌。從日誌看提交也是成功的。這個提交只是在本地進行,要提交到服務器則需要用“git push”命令與服務器同步:
輸入爭取的密碼後,同步成功。
(3)修改文件並提交
修改一下文件,然後顯示一下狀態:
Git顯示文件已被修改。用"git di"命令顯示一下差異:
提交時可以先執行"git add"再執行“git ci”,像上面添加文件時一樣。也可以用一條命令提交:
可見,“git ci”添加“-a”選項就會增加“git add”的功能。接下來可以與服務器同步,方法同上。也可以本地提交多次,最後進行一次同步。
3.2 Git Gui
(1)clone一個Git庫
在空白處點擊右鍵,點擊“Git Gui”:
會出現:
點擊“克隆已有版本庫”:
填入源目信息後點擊“克隆”:
輸入密碼後點擊“OK”:
還需要再輸一遍密碼?輸入密碼後點擊“OK”。然後還會再提示輸入密碼(一共要輸入3次),這次輸入後會看到:
檢出成功!去D盤看看吧:
果然出來了。
(2)添加新文件
進入ndpc-doc目錄創建一個新的文本文件new,再在當前目錄下開啓Git Gui:
選中要添加的文件:
點擊“提交-->緩存爲提交”:
得到:
在“提交描述”中添加提交日誌:
點擊“提交”:
左下角的信息顯示添加文件成功。點擊“上傳”來與服務器同步:
點擊“上傳”:
輸入密碼後點擊“OK”:
成功了!看看日誌,點擊“版本庫-->圖示master分支的歷史”:
得到:
證明添加文件成功。
(3)修改文件並提交
修改new.txt,再開啓Git Gui:
可見修改已經被顯示出來了。點擊下面的“緩存改動”:
提交與同步的方法與添加文件時一致。
3.3 TortoiseGit
安裝完TortoiseGit後對已有的Git庫不能顯示狀態標記,解決方法是重啓機器(有更好的方法請告訴我)。下面我們來看TortoiseGit的表現。
(1)clone一個Git庫
在空白處點擊右鍵:
點擊“Git Clone”:
填入Git庫URL,點擊“OK”:
第一次訪問Git庫需要保存SSH密鑰的指紋信息,點擊“是”:
填入密碼,點擊“OK“:
clone成功:
(2)添加新文件
進入ndpc-doc目錄,創建一個新文件bbb:
在bbb上點擊右鍵:
點擊“Add”:
點擊“OK“:
添加成功。如果需要提交則直接點擊“commit”:
添加提交日誌後點擊“OK“:
提交成功。如果需要同步則點擊“Push”:
點擊“OK”:
輸入密碼後點擊“OK“:
點擊“Close”結束。bbb文件的狀態變爲正常:
(3)修改文件並提交
修改bbb文件的內容後,文件狀態改變:
空白處點擊右鍵:
點擊“Git Commit->master”:
添加提交日誌後點擊“OK“:
提交成功。可以直接點擊“Push”進行同步,也可以點擊“Close”,再點擊右鍵:
選擇右上方的“Push”,接下來的方法與之前的Push操作一樣,不再贅述。我們來查詢一下提交日誌,點擊右鍵:
點擊“Show log”:
可以看到一次對bbb的添加操作和一次修改操作。證明添加和修改確實成功了。