本地搭建git伺服器
Ⅰ windows怎麼創建本地git伺服器
GIT伺服器包含GIT和OpenSSH,GIT用於軟體版本控制管理伺服器端,OpenSSH為Windows版本的SSH伺服器端軟體。
安裝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\是對應的用戶名),在文件最後加入如下行:
Ⅱ 如何搭建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服務,例如myhost.example.com。其中的一些步驟,像email通知,限制用戶的許可權,特定分組的接入管理,都是依據你的要求和現實狀況的可選項。還有很多命令,你需要root許可權才能執行,所以別忘了用sudo,或者(最好不要)直接切換到root來執行。
為有讀寫許可權的用戶建立一個分組。根據你的操作系統,你可以用groupadd命令來實現,用vigr來編輯分組文件,或者直接編輯/etc/group文件。在最後,你會在/etc/group文件中看到如下一行
repogroup:*:10005:marry,john,violet
其中,repogroup是准許接入這個倉庫的組的名字。10005是一個獨一無二的分組識別數字,marry,john,violet則是獲准接入這個倉庫的用戶。
決定Git倉庫的路徑。它既可以放在你的home路徑下(e.g. /home/yourname/gitroot),也可以放在一個專用的路徑下(e.g. /var/gitroot).
配置許可權,讓Git用戶可以訪問這個目錄
chmod g+rx /path-to/gitroot
chown :grouprepo /path-to/gitroot
建立新的Git倉庫,叫做newrepo
cd /path-to/gitroot
git init --bare newrepo.git
建立路徑認證,以允許用戶組訪問,同時有針對性的設置Git
cd newrepo.git
chown -R :grouprepo .
git config core.sharedRepository group
find . -type d -print0 | xargs -0 chmod 2770
find . -type f -print0 | xargs -0 chmod g=u
設置提交(commit)的email通知(commit是一條命令),這樣當有新的修改提交到倉庫的時候,開發者們將會收到一封關於修改內容一覽的電子郵件。
echo 'One-line project description' >description
git config --local hooks.mailinglist [email protected],[email protected],...
git config --local hooks.emailprefix '[DI-PR] '
git config --local hooks.showrev "git show -C %s; echo"
git config --local hooks.emailmaxlines 100
通過設置一個稱為鉤子(hook)的東東,來創建這些email通知。
cd hooks
cp post-receive.sample post-receive
chmod +x post-receive
從post-receive的腳本中移除掉最後一行注釋的#字型大小,最後語句應該是這樣的
. /path-to-hooks/post-receive-email
在你的庫中先放入一個文件(比如README)。為了避免其他用戶在第一次提交時遇到奇怪的錯誤信息時感到困惑,這是有必要的。
cd to-your-personal-working-directory
git clone myhost.example.com:/path-to/gitroot/newrepo.git
echo "Short project description" >README.txt
git add README.txt
git commit -a -m "Add README file"
git push origin master # 第一次僅僅需要T"origin master" 這個參數
為倉庫的其他用戶建立賬戶。依據你系統的不同,你可以通過useradd 或者adser來實現。
設置用戶可以通過公/私鑰配對來訪問。這包括以下幾步:
1)已經有公鑰的用戶,只需要把公鑰發給你就好。
2)沒有公鑰的用戶,必須用ssh-keygen命令來生成一個,然後把.ssh/id_rsa.pub發給你就可以了。
3)之後你必須在他們對應的賬戶下面建立這種公/私鑰配對。復制他的公鑰,然後順序執行下面的命令。
sudo su - username
mkdir -p .ssh
cat >>.ssh/authorized_keys <<\EOF
paste-key-as-one-line
EOF
exit
改變用戶的賬戶讓他們使用受限的shell。如果你想讓你添加進來的用戶僅僅使用Git,而不是Unix的所有東西,那麼就設置他們的賬戶,讓他們只能使用Git。Git提供了這種專為這種需求設計的受限shell。它通常被安裝在 /usr/libexec/git-core/git-shell or /usr/local/libexec/git-core/git-shell。因此,對所有你想限制許可權的用戶,你可以執行以下命令。
sudo chsh -s /usr/libexec/git-core/git-shell username
告訴你的用戶,用下面的語句來克隆倉庫到本地。
git clone myhost.example.com:/path-to/gitroot/newrepo.git
到了這里,恭喜你,你成功了!
Ⅳ 如何在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 轉載僅供參考,版權屬於原作者。祝你愉快,滿意請採納哦
Ⅳ 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伺服器和本地端
直接使用file:///形式的git倉庫即可
Ⅶ 如何搭建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\是對應的用戶名),在文件最後加入如下行:
Ⅷ 怎麼搭建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伺服器的搭建!