以下是基於window server 2012搭建的,學習搭建過程需要很多問題,找了許多文章做了一下總結。
1、所需的軟件
-
Git for Windows: MsysGit(Git-1.7.4-preview20110204.exe)
- OpenSSH for Windows: CopSSH(Copssh_4.0.4_Installer.exe)
2、安裝git
一般都是默認安裝就行
3、安裝copssh
也是默認安裝
安裝完成后主要有:Copssh Control Panel、Start a Unix BASH Shell
4、新建用戶
》控制面板》用戶帳戶》用戶帳戶》管理帳戶》新建用戶(如git)
取消用戶下次登錄時須更改密碼,設置密碼永不過期。
5、打開 Copssh Control Panel
5.1 綠色表示成功啟動,如果是紅色,請重新安裝。
*如果之前安裝過又卸載,可以嘗試如下:
刪除系統用戶SvcCOPSSH(windows用戶):
(1)開始-計算機,右鍵,點擊管理,進入計算機管理界面
(2)展開[本地用戶和組],展開用戶列表,選中系統用戶SvcCOPSSH,右鍵刪除即可
5.2 啟動成功,之后接着如下:
》選擇Users,點擊Add
》 點擊Forward,選擇用戶,然后點擊Forward,
》 默認就行,然后點擊Apply完成
》然后回到User那個界面,點擊Keys
》 查看對於的用戶是否生成密鑰,有則跳過,沒有則生成
》生成密鑰,點擊上面的Add,然后一直Forward,見到如下頁面
》 然后點擊Forward,Apply即可完成
6、驗證ssh用戶
6.1 打開 Start a Unix BASH Shell
》 輸入 cd /home/用戶名/.ssh,如下即可
6.2 測試遠程ssh連接(需要開啟22端口)
》 在另外一台計算機(或者本機)打開一個cmd,然后輸入(git為用戶名):ssh git@192.168.2.2
》然后提示輸入密碼,即表示成功連接
* 如果出現如下錯錯誤:
SSH登陸錯誤"WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! "
原因:ssh安裝卸載多次,一般是因為在本計算機連接過遠程的計算機,本地保存之前的連接信息,現在只需要刪除之前的連接信息即可:
解決方法:(在cmd,或者git bash輸入)
》 rm ~/.ssh/known_hosts
7、接下來需要使用git的命令(上面連接成功,僅僅可以使用Linux命令,git命令還是無法使用)
測試方法:連接成功之后,輸入:git。可以看到git命令相關信息,表示可以使用git。
一般這里有兩種選擇,第一步(7.1)不行,請繼續第二步(7.2)。
7.1 把git的一些必要文件復制到ssh的安裝目錄下
》把將$ Git\libexec\git-core目錄下的git.exe , git-receive-pack.exe , git-upload-archive.exe , git-upload-pack.exe復制到$ICW\bin目錄下
》將$Git\bin目錄下的libiconv-2.dll復制到$ICW\bin目錄下
》將$Git下的share目錄整個拷貝到$ICW下。
其中,$Git是指msysgit的安裝目錄 ,同理$ICW指COPSSH的安裝目錄。
7.2 如果經過7.1還是不成功,則如下:
》 修改 $ ICW/home/git/.bashrc 文件,增加如下行(注意:紅色部分為git安裝目錄):
gitpath='/cygdrive/c/Program Files/Git/mingw64/bin'
gitcorepath='cygdrive/c/Program Files/Git/mingw64/libexec/git-core'
PATH=${gitpath}:${gitcorepath}:${PATH}
》修改 $ ICW/etc/profile,在文件末尾增加如下行(注意:紅色為git安裝目錄)
gitpath='/c/Program Files/Git/mingw64/bin'
gitcorepath='cygdrive/c/Program Files/Git/mingw64/libexec/git-core'
export PATH="/bin:$syspath:$gitpath:$gitcorepath:$winpath"
8、測試git服務器
8.1 連接ssh服務器
》打開“Git Bash”,使用命令
》ssh ccf@192.168.1.100
連接到ssh服務器。這個命令上面有說明。
然后依次使用下列命令
8.2 在服務器新建git倉庫
》mkdir test.git
》cd test.git
》git init --bare
新建一個名為test.git的文件,並在其中建立一個純git倉庫。
》然后使用命令exit退出ssh服務器
8.3 在本地計算機,克隆遠程倉庫,提交測試
》cd d:
》mkdir test
》cd test
》git clone git@192.168.1.1:test.git .
在d盤下新建一個test文件夾並從服務器clone一個git倉庫。
接着依次輸入下列命令
》touch a b c
》git status
》git add .
》git commit -m "測試"
》git push origin master
9、 修改用戶登錄后的目錄
9.1 修改 $ ICW/home/用戶名/.bashrc ,在末尾增加如下:
》 cd C:/MyPorgramPath
9.2 修改 $ ICW /etc/password文件,修改對於用戶的路徑(紅色部分為需要修改的路徑)
git:XXXXXX:/cygdrive/c/Project:/bin/bash
1