導航:首頁 > IDC知識 > git伺服器搭建windows

git伺服器搭建windows

發布時間:2021-02-09 16:31:01

1、求助:git伺服器搭建 windows

搭建Git伺服器需要准備一台運行Linux的機器,強烈推薦用Ubuntu或Debian,這樣,通過幾條簡單的apt命令就可以完成安裝。
假設你已經有sudo許可權的用戶賬號,下面,正式開始安裝。
第一步,安裝git:
$ sudo apt-get install git

第二步,創建一個git用戶,用來運行git服務:
$ sudo adser git

第三步,創建證書登錄:
收集所有需要登錄的用戶的公鑰,就是他們自己的id_rsa.pub文件,把所有公鑰導入到/home/git/.ssh/authorized_keys文件里,一行一個。
第四步,初始化Git倉庫:
先選定一個目錄作為Git倉庫,假定是/srv/sample.git,在/srv目錄下輸入命令:
$ sudo git init --bare sample.git

Git就會創建一個裸倉庫,裸倉庫沒有工作區,因為伺服器上的Git倉庫純粹是為了共享,所以不讓用戶直接登錄到伺服器上去改工作區,並且伺服器上的Git倉庫通常都以.git結尾。然後,把owner改為git:
$ sudo chown -R git:git sample.git

需要伺服器找我:展翼小T

第五步,禁用shell登錄:
出於安全考慮,第二步創建的git用戶不允許登錄shell,這可以通過編輯/etc/passwd文件完成。找到類似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash

改為:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

這樣,git用戶可以正常通過ssh使用git,但無法登錄shell,因為我們為git用戶指定的git-shell每次一登錄就自動退出。
第六步,克隆遠程倉庫:
現在,可以通過git clone命令克隆遠程倉庫了,在各自的電腦上運行:
$ git clone git@server:/srv/sample.git
Cloning into 'sample'...
warning: You appear to have cloned an empty repository.

剩下的推送就簡單了。
管理公鑰
如果團隊很小,把每個人的公鑰收集起來放到伺服器的/home/git/.ssh/authorized_keys文件里就是可行的。如果團隊有幾百號人,就沒法這么玩了,這時,可以用Gitosis來管理公鑰。
這里我們不介紹怎麼玩Gitosis了,幾百號人的團隊基本都在500強了,相信找個高水平的Linux管理員問題不大。
管理許可權
有很多不但視源代碼如生命,而且視員工為竊賊的公司,會在版本控制系統里設置一套完善的許可權控制,每個人是否有讀寫許可權會精確到每個分支甚至每個目錄下。因為Git是為Linux源代碼託管而開發的,所以Git也繼承了開源社區的精神,不支持許可權控制。不過,因為Git支持鉤子(hook),所以,可以在伺服器端編寫一系列腳本來控制提交等操作,達到許可權控制的目的。Gitolite就是這個工具。
這里我們也不介紹Gitolite了,不要把有限的生命浪費到許可權斗爭中。

2、windows git伺服器怎麼創建

安裝步驟此處略去。

END
安裝CopSSH

安裝步驟此處略去。
END
修改配置

修改CopSSH配置文件C:\Program Files\ICW\etc\sshd_config,確保如下行為非注釋行,且設置為「no」:

END
生成用戶帳號

1
在伺服器上生成Windows用戶,取消用戶下次登錄時須更改密碼,設置密碼永不過期:

2
將該用戶隸屬於GitUser組(如尚未生成改組,則先生成改組):

END
激活用戶

1
在Windows啟動程序組中,運行如下程序(C:\Program Files\ICW\bin\ copsshcp.exe):

2
進入COPSSH Control Panel應用對話框,正常情況下服務應該為正在運行(圖標為綠色,如為紅色,則可嘗試點選該按鈕,啟動該服務):

3
選擇Users頁面:

4
點選Add按鈕,出現如下導航對話框:

5
選擇Forward按鈕,出現如下頁面,選擇欲激活的用戶對應的域名及用戶名:

6
選擇Forward按鈕,進入如下頁面,選擇Linux shell and Sftp,所有選項選中:

7
選擇Forward按鈕,進入確認頁面,選擇Apply:

8
回到如下頁面,選擇Apply後,關閉。

END
公鑰文件上傳

1
從用戶處取得對應帳戶的公鑰文件authorized_keys,復制到C:\Program Files\ICW\home\ricky\.ssh目錄下(\ricky\是對應的用戶名);
2
Windows啟動程序組中運行Start a Unix BASH Shell(或Windows運行中運行命令:"C:\Program Files\ICW\bin\bash.exe" --login -i):

3
運行如下unix命令行,如運行未出錯,則完畢。

END
生成Git庫容器目錄

1
在伺服器硬碟上生成一個目錄,用來容納Git庫,比如生成E:\ GITTestRepo\目錄;
2
滑鼠右鍵點擊該目錄,選擇共享和安全…;
3
在彈出的該目錄屬性對話框的安全頁中加入用戶對應的組GitUser;
4
確認該用戶組許可權設置了允許修改、讀取和運行、列入文件夾目錄、讀取、寫入,選擇確定後完畢。
END
確認防火牆開放了22埠

確認伺服器的防火牆沒有禁止22埠的TCP/IP通信。
END
修改用戶登錄運行腳本

1
修改C:\Program Files\ICW\home\ricky\.bashrc文件(\ricky\是對應的用戶名),在文件最後加入

3、如何在windows下安裝git伺服器

安裝msysgit
安裝步驟此處略去。

END
安裝CopSSH
安裝步驟此處略去。
END
修改配置
修改CopSSH配置文件C:\Program Files\ICW\etc\sshd_config,確保如下行為非注釋行,且設置為「no」:

END
生成用戶帳號
1、在伺服器上生成Windows用戶,取消用戶下次登錄時須更改密碼,設置密碼永不過期:

2、將該用戶隸屬於GitUser組(如尚未生成改組,則先生成改組):

END
激活用戶
1、在Windows啟動程序組中,運行如下程序(C:\Program Files\ICW\bin\ copsshcp.exe):

2、進入COPSSH Control Panel應用對話框,正常情況下服務應該為正在運行(圖標為綠色,如為紅色,則可嘗試點選該按鈕,啟動該服務):

3、選擇Users頁面:

4、點選Add按鈕,出現如下導航對話框:

5、選擇Forward按鈕,出現如下頁面,選擇欲激活的用戶對應的域名及用戶名:

6、選擇Forward按鈕,進入如下頁面,選擇Linux shell and Sftp,所有選項選中:

7、選擇Forward按鈕,進入確認頁面,選擇Apply:

8、回到如下頁面,選擇Apply後,關閉。

END
公鑰文件上傳
1、從用戶處取得對應帳戶的公鑰文件authorized_keys,復制到C:\Program Files\ICW\home\ricky\.ssh目錄下(\ricky\是對應的用戶名);
2、Windows啟動程序組中運行Start a Unix BASH Shell(或Windows運行中運行命令:"C:\Program Files\ICW\bin\bash.exe" --login -i):

3、運行如下unix命令行,如運行未出錯,則完畢。

END
生成Git庫容器目錄
1、在伺服器硬碟上生成一個目錄,用來容納Git庫,比如生成E:\ GITTestRepo\目錄;
2、滑鼠右鍵點擊該目錄,選擇共享和安全…;
3、在彈出的該目錄屬性對話框的安全頁中加入用戶對應的組GitUser;
4、確認該用戶組許可權設置了允許修改、讀取和運行、列入文件夾目錄、讀取、寫入,選擇確定後完畢。
END
確認防火牆開放了22埠
確認伺服器的防火牆沒有禁止22埠的TCP/IP通信。
END
修改用戶登錄運行腳本
1、修改C:\Program Files\ICW\home\ricky\.bashrc文件(\ricky\是對應的用戶名),在文件最後加入如下行:

4、windows怎樣搭建git伺服器

Git沒有客戶端伺服器端的概念,但是要共享Git倉庫,就需要用到SSH協議(FTP , HTTPS , SFTP等協議也能實現Git共享,此文檔不討論),但是SSH有客戶端伺服器端,所以在windows下的開發要把自己的Git倉庫共享出去的話,就必 須做SSH伺服器。一、安裝GIT
Windows下使用msysgit,
本文使用Git-1.7.8-preview20111206.exe 安裝要點步驟
安裝完成後,可以使用Git bash在命令行模式下操作git

二、安裝CopSSH

安裝CopSSH之前先確保防火牆開啟了SSH埠,這個雖然不影響CopSSH的安裝,但是影響SSH訪問,所以寫在前面。
CopSSH是windows下的SSH伺服器軟體,下載地址baidu之,本文使用的是Copssh_4.1.0_Installer.exe,
安裝完成後,到控制面板中新建一個管理員賬戶root,用這個賬戶來共享SSH。然後你在賬戶管理中會看到之前的SvcCOPSSH賬戶。
將root用戶添加到CopSSH用戶中,為簡單操作,允許使用密碼認證方式
若是不允許密碼認證,則需要使用公鑰密鑰方式認證,
三、CopSSH中使用GIT

現在已經安裝GIT和CopSSH,接下來需要做的就是讓CopSSH可以使用GIT的命令,這樣不僅能夠遠程SSH管理GIT伺服器,而且可以將GIT倉庫通過SSH共享。具體的操作方法是將GIT的某些命令程序和動態鏈接庫復制到CopSSH安裝目錄下即可。

l 將$ Git\libexec\git-core目錄下的git.exe , git-receive-pack.exe , git-upload-archive.exe , git-upload-pack.exe復制到$ICW\bin目錄下

l 將$Git\bin目錄下的libiconv-2.dll復制到$ICW\bin目錄下

重啟CopSSH即可

5、如何搭建git本地伺服器 windows

安裝msysgit
安裝步驟此處略去。

END
安裝CopSSH
安裝步驟此處略去。
END
修改配置
修改CopSSH配置文件C:\Program Files\ICW\etc\sshd_config,確保如下行為非注釋行,且設置為「no」:

END
生成用戶帳號
1
在伺服器上生成Windows用戶,取消用戶下次登錄時須更改密碼,設置密碼永不過期:

2
將該用戶隸屬於GitUser組(如尚未生成改組,則先生成改組):

END
激活用戶
1
在Windows啟動程序組中,運行如下程序(C:\Program Files\ICW\bin\ copsshcp.exe):

2
進入COPSSH Control Panel應用對話框,正常情況下服務應該為正在運行(圖標為綠色,如為紅色,則可嘗試點選該按鈕,啟動該服務):

3
選擇Users頁面:

4
點選Add按鈕,出現如下導航對話框:

5
選擇Forward按鈕,出現如下頁面,選擇欲激活的用戶對應的域名及用戶名:

6
選擇Forward按鈕,進入如下頁面,選擇Linux shell and Sftp,所有選項選中:

7
選擇Forward按鈕,進入確認頁面,選擇Apply:

8
回到如下頁面,選擇Apply後,關閉。

END
公鑰文件上傳
1
從用戶處取得對應帳戶的公鑰文件authorized_keys,復制到C:\Program Files\ICW\home\ricky\.ssh目錄下(\ricky\是對應的用戶名);
2
Windows啟動程序組中運行Start a Unix BASH Shell(或Windows運行中運行命令:"C:\Program Files\ICW\bin\bash.exe" --login -i):

3
運行如下unix命令行,如運行未出錯,則完畢。

END
生成Git庫容器目錄
1
在伺服器硬碟上生成一個目錄,用來容納Git庫,比如生成E:\ GITTestRepo\目錄;
2
滑鼠右鍵點擊該目錄,選擇共享和安全…;
3
在彈出的該目錄屬性對話框的安全頁中加入用戶對應的組GitUser;
4
確認該用戶組許可權設置了允許修改、讀取和運行、列入文件夾目錄、讀取、寫入,選擇確定後完畢。

確認防火牆開放了22埠
確認伺服器的防火牆沒有禁止22埠的TCP/IP通信。

修改用戶登錄運行腳本
1
修改C:\Program Files\ICW\home\ricky\.bashrc文件(\ricky\是對應的用戶名),在文件最後加入如下行:

6、如何在windows上搭建git伺服器

Git沒有客戶端伺服器端的概念,但是要共享Git倉庫,就需要用到SSH協議(FTP , HTTPS , SFTP等協議也能實現Git共享,此文檔不討論),但是SSH有客戶端伺服器端,所以在windows下的開發要把自己的Git倉庫共享出去的話,就必 須做SSH伺服器。
一、安裝GIT
Windows下使用msysgit,
本文使用Git-1.7.8-preview20111206.exe 安裝要點步驟
安裝完成後,可以使用Git bash在命令行模式下操作git

二、安裝CopSSH

安裝CopSSH之前先確保防火牆開啟了SSH埠,這個雖然不影響CopSSH的安裝,但是影響SSH訪問,所以寫在前面。
CopSSH是windows下的SSH伺服器軟體,下載地址baidu之,本文使用的是Copssh_4.1.0_Installer.exe,
安裝完成後,到控制面板中新建一個管理員賬戶root,用這個賬戶來共享SSH。然後你在賬戶管理中會看到之前的SvcCOPSSH賬戶。
將root用戶添加到CopSSH用戶中,為簡單操作,允許使用密碼認證方式
若是不允許密碼認證,則需要使用公鑰密鑰方式認證,
三、CopSSH中使用GIT

現在已經安裝GIT和CopSSH,接下來需要做的就是讓CopSSH可以使用GIT的命令,這樣不僅能夠遠程SSH管理GIT伺服器,而且可以將GIT倉庫通過SSH共享。具體的操作方法是將GIT的某些命令程序和動態鏈接庫復制到CopSSH安裝目錄下即可。

l 將$ Git\libexec\git-core目錄下的git.exe , git-receive-pack.exe , git-upload-archive.exe , git-upload-pack.exe復制到$ICW\bin目錄下

l 將$Git\bin目錄下的libiconv-2.dll復制到$ICW\bin目錄下

重啟CopSSH即可

7、如何搭建git伺服器 windows

GitLab是由Ruby語言開發的基於Linux的Git伺服器,是我見過的最強大的Git伺服器。發現它之後,立即決定將Git伺服器換成GitLab。但安裝好GitLab之後面臨一個問題,如何將伺服器上的git項目直接導入到GitLab,之前的Git伺服器是由是git+apache搭建的(詳見在Linux上用Apache搭建Git伺服器)。在網上發現了這篇文檔——,並按之進行了操作。1)設置存放代碼庫的主目錄vi/etc/gitlab/gitlab.rb比如這里設置為:git_data_dir"/gitlab/repos"2)訪問剛搭建的GitLab站點,創建一個group,比如cnblogs。這時會在/gitlab/repos下創建/gitlab/repos/repositories/cnblogs文件夾。然後在/gitlab/repos/repositories/創建一個文件夾,比如cnblogs3)將現有的所有git項目文件復制到這個文件夾cp-r/data/git/*/gitlab/repos/repositories/cnblogs4)修改一下復制過來的文件夾的所有者:chown-Rgit:git/gitlab/repos/repositories/cnblogs5)運行GitLab導入命令cd/var/opt/gitlabgitlab-rakegitlab:import:repos等了一段時間之後,顯示done,卻一個項目也沒導入進來。經研究發現,在導入時,GitLab只認文件夾名以.git結尾的項目。於是,將要導入的項目文件夾名稱加上.git後綴,再次進行導入。結果顯示導入成功,比如:Processingcnblogs/CNBlogsJob.git*CreatedCNBlogsJob(cnblogs/CNBlogsJob.git)Done!可以是GitLab站點上卻看不到已導入的項目。多次努力,也沒能解決這個問題。後來,實在沒法,改為手動導入,導入方法如下:1)在GitLab站點上創建與要導入的項目同名的項目。2)進入剛創建的項目文件夾cd/gitlab/repos/repositories/cnblogs/項目名稱.git3)刪除該文件下的所有文件rm-rf*4)將要導入的項目文件夾下的所有文件復制過來cp-r/data/git/CNBlogsJob/*/gitlab/repos/repositories/cnblogs/CNBlogsJob.git就這樣將項目一個一個地導入進來。5)導入完成後,修改一下導入的所有項目的文件所有者chown-Rgit:git/gitlab/repos/repositories/cnblogs如果不修改所有者,客戶端無法進行gitpush。就這樣手動地完成了現有Git項目的導入。備註:操作系統是CentOS6.2,GitLab版本是7.8.4。

8、如何在windows上架設Git伺服器

如何在windows上架設Git伺服器

翻譯自google(或者googlecode?),自己加了一段關於ssh密鑰的操作。

TortoiseGit + msysgit + CopSSH + WindowsXP as server

1.需要軟體
msysgit (伺服器和客戶端)
CopSSH (伺服器)
TortoiseGit (客戶端)
Junction Link Magic (伺服器,可選)
版本就不寫了,找最新的就是

2.伺服器上
安裝msysgit
選擇plink, 不是OpenSSH
選擇將Git加入path (第二個選項)

安裝CopSSH
使用默認設置安裝
CopSSH默認安裝在C:\Program Files\ICW\

修改CopSSH設置
在C:\Program Files\ICW\etc\sshd_config中, 下面一行取消注釋並設為"no"
PasswordAuthentication no

建立一個windows賬戶
Control Panel > User Accounts > Create new account

在CopSSH中激活這個賬戶
Start > Programs > Copssh > "Activate a user"
選擇一個賬戶,其他的用默認(/bin/bash, 等)
輸入密碼,這個密碼必須記住,將用來激活私鑰。

在C:\Program Files\ICW\home, 每個賬戶有一個子目錄。將其中的<user>.key和<user>.key.pub和剛剛輸入的密碼發給用戶。

安裝一個空的git倉庫
如准備將D:\project1作為Git倉庫
在cmd中輸入如下命令
d:
md \project1.git
cd \project1.git
git --bare init
這樣,d:/project1就成為一個git倉庫

賦予用戶修改許可權
在D:\project1上右鍵 > 安全,允許剛建立的windows賬戶"寫"和"修改"

伺服器上打開22埠

由於ssh伺服器不能找到git命令,需要如下操作:
Start > CopSSH > Start a unix bash shell.
cd /Bin
建立符號鏈接到git.exe, git-receive-pack.exe, git-upload-archive.exe, git-upload-pack.exe:
$ ln -s /cygdrive/c/Program\ Files/Git/bin/git.exe git.exe
$ ln -s /cygdrive/c/Program\ Files/Git/libexec/git-core/git-receive-pack.exe git-receive-pack.exe
$ ln -s /cygdrive/c/Program\ Files/Git/libexec/git-core/git-upload-archive.exe git-upload-archive.exe
$ ln -s /cygdrive/c/Program\ Files/Git/libexec/git-core/git-upload-pack.exe git-upload-pack.exe
(按自己的安裝git的路徑改,空格要轉為"\ ")

可選步驟:安裝Junction Link Magic
在C:\Program Files\ICW\home\用戶的目錄下建立一個空目錄,名稱為pro1
啟動Junction Link Magic,將git倉庫的目錄D:\project1 junction到C:\Program Files\ICW\home\用戶\pro1

伺服器設置結束

3. 客戶端上
對於用戶,要有
私鑰文件如<user>.key
私鑰文件的密碼
伺服器地址
伺服器上用戶的ID

安裝 msysgit
選擇plink
選擇將git放入windows path

安裝TortoiseGit
安裝後,在Settings > Network > SSH設置:
SSH Client = C:\Program Files\TortoiseGit\bin\TortoisePlink.exe

(下面的操作很可能不成功,需要另外的方式配置密鑰)
運行C:\Program Files\TortoiseGit\bin\puttygen.exe:
CopSSH中生成的密鑰是OpenSSH keys, 但這里需要putty keys。將私鑰轉成putty格式的。
按 "Load" > 選擇文件 <user>.key
找個地方保存私鑰 <user>.ppk
運行C:\Program Files\TortoiseGit\bin\Pageant.exe
加入新生成的<user>.ppk,在詢問密碼時輸入密碼
注意: 每次啟動後,都需要運行Pageant.exe, 加入<user>.ppk, 並輸入密碼.

在我的機器上,TortoiseGit自帶的puttygen不認CopSSH生成的OpenSSH keys,需要下載最新的puttygen
http://tartarus.org/~simon/putty-snapshots/x86/puttygen.exe 來生成ppk私鑰。
或另外一種方法是:使用puttygen生成ppk格式的私鑰,並將生成時上部顯示的公鑰替換OpenSSH的authorized_kyes中的內容。
不過這樣會導致無法互動式登入OpenSSH伺服器,但仍可繼續下面的操作。

4.開始使用
在用戶的機器上clone git倉庫
URL = <user>@<server>:d:/project1
或使用junction後的路徑
URL = <user>@<server>:pro1
如不使用Pageant.exe,就要設置"Load Putty Key" (yes) = (path to <user>.ppk).並且每次和伺服器的操作都要求輸入密碼。
注意:第一次連接伺服器時,會要求保存伺服器的公鑰,選擇yes。

(這里有個問題:git客戶端會報伺服器某個dll沒有找到,這時把git安裝目錄下的那個dll文件復制到CopSSH的bin下就好)

如果伺服器上的git倉庫和CopSSH安裝在同一個盤符上,則可以省略盤符,如
URL = ssh://<user>@<server>/project1 轉載僅供參考,版權屬於原作者。祝你愉快,滿意請採納哦

9、如何在windows上創建一個git伺服器

安裝msysgit

安裝步驟此處略去。

END
安裝CopSSH

安裝步驟此處略去。
END
修改配置

修改CopSSH配置文件C:\Program Files\ICW\etc\sshd_config,確保如下行為非注釋行,且設置為「no」:

END
生成用戶帳號

1
在伺服器上生成Windows用戶,取消用戶下次登錄時須更改密碼,設置密碼永不過期:

2
將該用戶隸屬於GitUser組(如尚未生成改組,則先生成改組):

END
激活用戶

1
在Windows啟動程序組中,運行如下程序(C:\Program Files\ICW\bin\ copsshcp.exe):

2
進入COPSSH Control Panel應用對話框,正常情況下服務應該為正在運行(圖標為綠色,如為紅色,則可嘗試點選該按鈕,啟動該服務):

3
選擇Users頁面:

4
點選Add按鈕,出現如下導航對話框:

5
選擇Forward按鈕,出現如下頁面,選擇欲激活的用戶對應的域名及用戶名:

6
選擇Forward按鈕,進入如下頁面,選擇Linux shell and Sftp,所有選項選中:

7
選擇Forward按鈕,進入確認頁面,選擇Apply:

8
回到如下頁面,選擇Apply後,關閉。

END
公鑰文件上傳

1
從用戶處取得對應帳戶的公鑰文件authorized_keys,復制到C:\Program Files\ICW\home\ricky\.ssh目錄下(\ricky\是對應的用戶名);
2
Windows啟動程序組中運行Start a Unix BASH Shell(或Windows運行中運行命令:"C:\Program Files\ICW\bin\bash.exe" --login -i):

3
運行如下unix命令行,如運行未出錯,則完畢。

END
生成Git庫容器目錄

在伺服器硬碟上生成一個目錄,用來容納Git庫,比如生成E:\ GITTestRepo\目錄;
滑鼠右鍵點擊該目錄,選擇共享和安全…;
在彈出的該目錄屬性對話框的安全頁中加入用戶對應的組GitUser;
確認該用戶組許可權設置了允許修改、讀取和運行、列入文件夾目錄、讀取、寫入,選擇確定後完畢。
END
確認防火牆開放了22埠

確認伺服器的防火牆沒有禁止22埠的TCP/IP通信。
END
修改用戶登錄運行腳本

1
修改C:\Program Files\ICW\home\ricky\.bashrc文件(\ricky\是對應的用戶名),在文件最後加入如下行:

與git伺服器搭建windows相關的知識