git伺服器搭建
⑴ 如何在伺服器上搭建git伺服器
安裝步驟此處略去。
END
安裝CopSSH
安裝步驟此處略去。
END
修改配置
修改CopSSH配置文件C:\Program Files\ICW\etc\sshd_config,確保如下行為非注釋行,且設置為「no」:
END
生成用戶帳號
1
在伺服器上生成Windows用戶,取消用戶下次登錄時須更改密碼,設置密碼永不過期:
2
將該用戶隸屬於GitUser組(如尚未生成改組,則先生成改組):
END
激活用戶
在Windows啟動程序組中,運行如下程序(C:\Program Files\ICW\bin\ copsshcp.exe):
進入COPSSH Control Panel應用對話框,正常情況下服務應該為正在運行(圖標為綠色,如為紅色,則可嘗試點選該按鈕,啟動該服務):
選擇Users頁面:
點選Add按鈕,出現如下導航對話框:
選擇Forward按鈕,出現如下頁面,選擇欲激活的用戶對應的域名及用戶名:
選擇Forward按鈕,進入如下頁面,選擇Linux shell and Sftp,所有選項選中:
選擇Forward按鈕,進入確認頁面,選擇Apply:
回到如下頁面,選擇Apply後,關閉。
⑵ 如何搭建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。
⑶ 搭建git伺服器需要什麼樣的配置
搭建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
第五步,禁用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就是這個工具。
⑷ 求助: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了,不要把有限的生命浪費到許可權斗爭中。
⑸ win7 如何搭建git伺服器
在Win7下搭建GIT SSH服務.
項目需要做版本管理,有一個要求就是需要離線提交.這一句,直接封殺了Vss.VSN.
TortoiseHG雖然易用,但對中文文件名,支持很差,無法將中文文檔提交.找了半天原因無果.
只能轉向GIT.
安裝GIT以及搭建Git服務一共用到下列軟體:
copSSH (註:SSH伺服器軟體)
msysgit (註:WINDOWS下的git安裝包)
TortiseGIT (註:WINDOWS下的git圖形化軟體,與TortiseSVN是同門)
PuTTY Installer (註:生成公鑰-私鑰對的軟體,並可用於SSH客戶端的登陸)
我參考了如下文檔
GIT視頻教程:(http://v.youku.com/v_playlist/f5227985o1p0.html)
國人寫的,這哥們對GIT有兩個視頻.看一下,對初學者幫助不小.
GIT入門教材:
Pro Git中文版(http://www.open-open.com/doc/view/)
這個教程,是翻譯的,翻譯質量挺高.對學習Git有很大幫助.
在Windows下安裝GIT服務:
如何在WINDOWS(XP)下使用copSSH配置GIT伺服器+TortiseGIT客戶端 ( http://www.cnblogs.com/Yinner/archive/2011/05/01/2034147.html)
copssh git 在windowXp上搭建git伺服器(http://www.360doc.com/content/11/0116/15/38375_86900246.shtml)
看完以上教程,GIT的一套流程,就完整了.呵呵
⑹ window怎麼搭建git伺服器配置
首先這里我們安裝openssh-server openssh-client,如果你用的是VPS之類的一般都默認安裝好了,不過運行一個這個命令不會有錯的,如果有安裝就會提示已安裝。 sudo apt-get -y install openssh-server openssh-client 安裝git,在這個核心軟體,不可或缺。 sudo apt-get -y install git 添加gitolite用戶和同名用戶組,加上--system參數,用戶就不會在登陸界面顯示。 sudo adser --system --shell /bin/sh --group --disabled-password --home /home/gitolite gitolite 生成ssh key,一路回車下來。 ssh-keygen -t rsa 將你當前用戶的ssh pub key復制到/tmp下備用,由於我用的是桌面版在同一台機器上。 cp ~/.ssh/id_rsa.pub /tmp/ubuntugege.pub 如果你是ssh遠程登陸到伺服器上安裝,就要把你本地的key復制到遠程的機器上 scp ~/.ssh/id_rsa.pub gitolite.server:/tmp/ubuntugege.pub 安裝gitolite,在ubuntu中已經集成了,不用自己去下載。 sudo apt-get -y install gitolite 切換到gitolite用戶環境中,因為我要以gitolite用戶身份去初始化安裝。 sudo su - gitolite 執行初始化安裝gitolite。 gl-setup /tmp/ubuntugege.pub 把管理庫gitolite-admin克隆過來就可以開始gitolite用戶及代碼庫的管理了,如果不能克隆,那麼就說明初始化的ssh pub key錯了。
⑺ 怎麼搭建git 伺服器
1、安裝OpenSSH並配置SSH無密碼登陸
通過命令 sudo apt-get install openssh-server,安裝SSH服務。
通過命令 ps –e|grep ssh,查看ssh服務是否啟動。
通過以上命令,我們為Ubantu系統安裝SSH服務,並配置SSH無密碼登陸,首先我們修改主機和ip配置文件:gedit /ect/hosts
2、創建用戶git,用來管理運行git服務。
3、配置無密碼SSH登陸
在gitClient_01上,我們使用命令:ssh-keygen –t rsa 生成密鑰
完成之後,在.ssh目錄下,我們可以看到id_rsa和id_rsa.pub文件,id_rsa.pub為公鑰,我們 通過命令scp /home/git/.ssh/id_rsa.pub gitServer:/home/git將gitClient_01上生成的公鑰拷貝到gitServer上。
在gitServer上我們首先查看/home/git/.ssh目錄下是否存在authorized_kesys文件,
如果沒有,可以通過touch authorized_keys創建此文件。
Authorized_keys創建完成後,將gitClient_01上拷貝過來的公鑰id_rsa.pub的內容追 加到authroized_keys中,注意是追加到此文件中,可以使用命令cat /home/git/id_rsa.pub>>/home/git/.ssh/authorized_keys.
以上內容完成後,我們在gitClient_01中,可以使用命令ssh gitServer即可完成無密碼登陸。
4、安裝Git
通過命令 sudo apt-get install git-core,安裝git
5、建立git倉庫的存儲目錄。
6、初始化伺服器端倉庫
使用命令 git –bare init /home/git/myRep.git,初始化化倉庫
7、在gitClient_01上,通過git clone命令進行克隆遠程倉庫,並在各自的電腦上運行開發。
Git clone git@gitServer:/home/git/myRep.git
通過以上的步驟就完成了git伺服器的搭建!
⑻ 自己搭建的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即可
⑼ windows系統怎麼搭建git伺服器
安裝msysgit 安裝步驟此處略去。 安裝CopSSH 安裝步驟此處略去。 修改配置 修改CopSSH配置文件C:\Program Files\ICW\etc\sshd_config,確保如下行為非注釋行,且設置為「no」: 生成用戶帳號 1在伺服器上生成Windows用戶,取消用戶下次登錄時須更改密碼,設置密碼永不過期: 2將該用戶隸屬於GitUser組(如尚未生成改組,則先生成改組): 激活用戶 1在Windows啟動程序組中,運行如下程序(C:\Program Files\ICW\bin\ copsshcp.exe): 2進入COPSSH ControlPanel應用對話框,正常情況下服務應該為正在運行(圖標為綠色,如為紅色,則可嘗試點選該按鈕,啟動該服務): 3選擇Users頁面: 4點選Add按鈕,出現如下導航對話框: 5選擇Forward按鈕,出現如下頁面,選擇欲激活的用戶對應的域名及用戶名: 6選擇Forward按鈕,進入如下頁面,選擇Linuxshell and Sftp,所有選項選中: 7選擇Forward按鈕,進入確認頁面,選擇Apply: 8回到如下頁面,選擇Apply後,關閉。 公鑰文件上傳 1從用戶處取得對應帳戶的公鑰文件authorized_keys,復制到C:\ProgramFiles\ICW\home\ricky\.ssh目錄下(\ricky\是對應的用戶名); 2Windows啟動程序組中運行Start a UnixBASH Shell(或Windows運行中運行命令:"C:\Program Files\ICW\bin\bash.exe" --login -i): 3運行如下unix命令行,如運行未出錯,則完畢。 生成Git庫容器目錄 1在伺服器硬碟上生成一個目錄,用來容納Git庫,比如生成E:\ GITTestRepo\目錄; 2滑鼠右鍵點擊該目錄,選擇共享和安全…; 3在彈出的該目錄屬性對話框的安全頁中加入用戶對應的組GitUser; 4確認該用戶組許可權設置了允許修改、讀取和運行、列入文件夾目錄、讀取、寫入,選擇確定後完畢。 確認防火牆開放了22埠 確認伺服器的防火牆沒有禁止22埠的TCP/IP通信。 修改用戶登錄運行腳本 1修改C:\ProgramFiles\ICW\home\ricky\.bashrc文件(\ricky\是對應的用戶名),在文件最後加入如下行: