天天看點

Windows下GIt入門試驗配置教程單機版

聲明:本文的目的是提供一個在windowsXP下安裝使用git的簡明教程,雖然關于git在Window下如何使用的文章很多,但是作者根據那些文章做實驗發現,其中有些内容對于初學者比較晦澀,導緻沒有接觸過的人不能做好實驗,誤導初學者,或者給初學者帶來反面的資訊,打擊積極性。作者在花費了3個晚上之後終于把git的安裝搞定,在此做一些記錄,與大家分享。

       安裝git的環境:這一部分主要從網絡上擷取,但是經過一些加工或修改。需要安裝兩個工具:

1 - Git,Windows下的Git,還是msys-git比較好。

2 - SSH,可以用CopSSH,可以在Windows上啟動SSH服務,而不僅是用戶端。如果不知道網址,搜尋一下。

安裝這兩個工具的過程沒有什麼難度。這裡假定Git是安裝在C:\Git目錄下,CopSSH安裝在C:\ICW目錄下。安裝過程中添加git使用者,密碼也是git。預設安裝的git可能不好用,需要從ssh菜單->已經激活賬戶中删除git,同時在電腦的本地使用者群組中删除git使用者,再重建立立git本地使用者,授予administrator權限,在ssh的菜單中激活git使用者。git已經可以從遠端ssh登陸。如果在指令行中輸入ssh沒有發現指令,需要在系統的Path中添加C:\ICW\bin目錄和C:\Git\bin目錄,輸入ssh [email protected]輸入密碼後如果能打開遠端,則說明git使用者ssh登陸成功。

git使用者通過ssh登入以後,可以執行ls,cd等基本指令。但是git仍然然不能運作。是以,也就還不能通過這個ssh來釋出git版本庫了。要實作這個,需要做一些設定。

首先、需要在Git的安裝目錄裡找到cmd目錄,這裡就是C:\Git\cmd了。在裡面建立如下幾個檔案:  git, git-upload-pack, git-upload-archive, git-receive-pack。這裡都沒有擴充名的,主要是給登入後,由bash執行的。每個檔案都隻有一行,分别是:

git裡寫  git.cmd $*

git-upload-pack裡寫  git upload-pack $*

git-upload-archive裡寫  git upload-archive $*

git-receive-pack裡寫  git receive-pack $*

然後,就要給登入後的使用者添加path了,保證上面添加的指令可以找到,并執行。找到CopSSH安裝目錄的etc下的profile檔案。這裡就是C:\ICW\etc\profile了:在檔案最後添加兩行

gitpath=`/bin/cygpath C:/Git/cmd`  #這裡不是引号,路徑是Git下的cmd,斜杠也要用Unix的習慣

export PATH="$PATH:$gitpath"

然後,用git使用者重新從SSH登入。就可以使用git指令了。

如果git指令提示找不到git-upload-pack,則需要配置C:\ICW\home\git下的.bashrc,在該檔案的末尾添加剛才的指令

gitpath=`/bin/cygpath C:/Git/cmd`

這樣基本上就可以使用了。為什麼使用git指令時未加載C:\ICW\etc\profile,具體原因尚不清楚,但是.bashrc會被加載。

啟動指令行,在C:\ICW\var目錄下依次執行以下指令:

mkdir testgit

cd testgit

git init

touch a b c

git add .

git commit -m "init"

然後,就可以在遠端clone這個庫了。進入D盤執行

git clone [email protected]:../../vartestgit testgitA

則發現可以進行輸出了,路徑是相對于git登陸後的根目錄C:\ICW\home\git

git clone [email protected]:../../vartestgit testgitB

clone出第二個版本庫,分别在這兩個庫中執行操作。如果此時送出修改,則git并不知道是誰送出的,需要告訴git你是誰,在git使用者的根目錄C:\ICW\home\git中添加.gitconfig檔案(window檔案名不支援.開頭,建立一個檔案,通過ren命名重命名)輸入

[user]

       name = git

       email = [email protected]

在anotherUser使用者的根目錄C:\ICW\home\anotherUser輸入

       name = anotherUser

       email = [email protected]

打開指令行,進入到testgitA中設定使用者屬性:set home=C:\ICW\home\git,對所做的内容進行送出,最後調用git push指令把修改的内容永久的存放到中心版本庫中,對anotherUser使用者的目錄testGitB需要同樣的操作:set home=C:\ICW\home\anotherUser,這樣送出的内容就被git區分出是誰送出的了。這樣基本環境就搭建好了,可以進行進一步的實驗了。關于git的指令請參考手冊或者到網上搜尋。興奮的git探索之旅可以開始了,

君好運。