聲明:本文的目的是提供一個在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 git@127.0.0.1輸入密碼後若是能打開遠程,則說明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`
export PATH="$PATH:$gitpath"
這樣基本上就可使用了。爲何使用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登錄後的根目錄C:\ICW\home\git
clone出第二個版本庫,分別在這兩個庫中執行操做。若是此時提交修改,則git並不知道是誰提交的,須要告訴git你是誰,在git用戶的根目錄C:\ICW\home\git中添加.gitconfig文件(window文件名不支持.開頭,建立一個文件,經過ren命名重命名)輸入
[user]
name = git
email = git@163.com
在anotherUser用戶的根目錄C:\ICW\home\anotherUser輸入
[user]
name = anotherUser
email = anotherUser@163.com
打開命令行,進入到testgitA中設置用戶屬性:set home=C:\ICW\home\git,對所作的內容進行提交,最後調用git push命令把修改的內容永久的存放到中心版本庫中,對anotherUser用戶的目錄testGitB須要一樣的操做:set home=C:\ICW\home\anotherUser,這樣提交的內容就被git區分出是誰提交的了。這樣基本環境就搭建好了,能夠進行進一步的實驗了。關於git的命令請參考手冊或者到網上搜索。興奮的git探索之旅能夠開始了,
祝
君好運。