windows系統搭建git伺服器搭建
『壹』 在win10下怎麼安裝git的服務
工具:win10系統電腦一台
步驟:
1、打開win10系統電腦,雙擊exe安裝包,在彈出的安全提示中點擊「允許」。安裝向導的頭兩步都直接點擊「下一步」/「Next」如圖所示。
『貳』 求助: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了,不要把有限的生命浪費到許可權斗爭中。
『叄』 怎麼在windows下架設Git伺服器
1、打開控制面板->管理工具->服務項目,禁用Windows防火牆服務。
2、打開控制面板->管理工具,雙擊「路由和遠程訪問」。然後右鍵點擊伺服器圖標,再點擊「配置並啟用路由和遠程訪問」。
3、在「路由和遠程伺服器安裝向導」中,選擇「自定義配置」。
4、勾選「VPN訪問」和「NAT和基本防火牆」。
5、點擊「完成」。系統提示「要開始服務嗎?」,選擇「是」。
6、接下來開始配置路由和遠程訪問,我們先點擊本地服務旁邊的+按鈕,把左側菜單展開,再點擊IP路由選擇旁邊的+按鈕。
7、下面配置靜態IP地址。右鍵點擊本地服務,點擊屬性,再點擊IP選項卡。
8、點選「靜態地址池」,點擊「添加」。輸入一個起始IP地址和結束IP地址范圍,推薦輸入192.168.1.100到192.168.1.254這個范圍,因為192.168段屬於本地保留IP段。最後點擊「確定」。
9、右鍵點擊「靜態路由」,再點擊「新建靜態路由」。
10、目標和網路掩碼都輸入0,網關請和TCP/IP屬性中的默認網關保持一致。
11、刪除「DHCP中繼代理程序」中的「內部」項目。
12、然後右鍵點擊「DHCP中繼代理程序」,再點擊「新增介面」。
13、選擇「本地連接」,再點擊「確定」,然後在彈出的對話框中點擊「確定」。
14、右鍵點擊「NAT/基本防火牆」,再點擊「新增介面」,然後選擇「本地連接」,點擊「確定」。
15、在彈出的對話框中先點選「公共介面連接到Internet」,再勾選「在此介面上啟用NAT」,最後點擊「確定」。
『肆』 使用Gitolite搭建Git伺服器
Git服務的管理工具,主要有如下幾種。
Gitolite 使用perl語言編寫,維護和更新比較積極,下面測試使用Gitolite搭建Git伺服器。
一般新建用戶 ~/.ssh/ 目錄是不存在的。
生成路徑會在ssh-kengen執行後給出,也可修改。windows下生成路徑默認位於 C:/user/用戶名/.ssh 下。
此時, gitolite 會初始化兩個倉庫,同時創建 authorized_keys 文件
管理庫中有兩個目錄, conf/ 和 keydir/ 。
倉庫的創建通過編輯 gitolite-admin/conf/gitolite.conf 即可,然後將配置後的文件上傳伺服器。
若本地已有倉庫repo2,將其添加到伺服器
gitolite可以通過用戶組的方式進行管理
如上提示,需要輸入密碼。
需要安裝 openssh ,並將 gitolite 用戶添加在 sshusers 組中,有的伺服器可能是 ssh 組。
計算機領域的Cookbook指的是實用經典案例的意思,是對一些普遍性問題的解決方案的總結和整理。
『伍』 如何搭建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。
『陸』 如何搭建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伺服器軟體,下載地址之,本文使用的是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即可