centos下搭建git伺服器
⑴ 如何在linux centos下安裝git
如何在linux centos下安裝git
今天想開通git的服務,於是在伺服器上安裝git,網路到的結果千篇一律的全都有錯誤,給大家總結分享下。
如果yum install git可以直接安裝的可以不通過源碼編譯安裝。
源碼安裝步驟如下
1.首先下載git源碼
2.xz文件解壓
xz -d git-2014-08-20.tar.xz
tar -xvf git-2014-08-20.tar
3.安裝git
cd git-2014-08-20/
autoconf ...
⑵ CentOS系統怎樣搭建Git版本控制伺服器
yum安裝Git伺服器
代碼如下:
[root@git ~]# cd src/
[root@git src]# wget http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
[root@git src]# rpm -ivh epel-release-5-4.noarch.rpm
Preparing... ########################################### [100%]
package epel-release-5-4.noarch is already installed
[root@git ~]# yum list
[root@git ~]# yum install -y git創建一個git用戶,用來運行git服務
代碼如下:
[root@git ~]# adser git
創建客戶端登錄證書,注,收集所有需要登錄的用戶的公鑰,就是他們自己生成的id_rsa.pub文件,把所有公鑰復制到/home/git/.ssh/authorized_keys文件里,一行一個。嘿嘿!
1).客戶端生成id_rsa.pub文件的命令
代碼如下:
$ ssh-keygen -t rsa
$ cat .ssh/id_rsa.pubssh-rsa ++N3wEAQRYDmcYo1wmnm/4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+== leo@LEO-PC
注,一路回車即可,將生成的id_rsa.pub,復制給管理員,幫你在伺服器上增加一下,下次你用git時就不需要輸入用戶名和密碼了。
2).查看伺服器上authorized_keys文件
代碼如下:
[root@git ~]# cat /home/git/.ssh/authorized_keys
ssh-rsa wBVd++YmJFhqwkITNGccrO5sycROs9+Fbjgd6oBSzNuaBtCIbwNNsEyM/henTl2euI3XsnJQ/ITr6c/q0P3WoGl4E2QFQ2kZqs++/+kJzJSKUTKDVSwY3/+Q== root@CHENMINGQIAN
ssh-rsa +PSK9PSg+bwiJ2iQRa39rXck35r+//RiCiYzd3RT/+S/LD3vx2MN+FNOHwvqcE+/5yEqSgAkioa8SVMOsikYJG//RZ54Q== Administrator@WIN2003X323
ssh-rsa ++N3wEAQRYDmcYo1wmnm/4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+== leo@LEO-PC說明:我這里有三個用戶登錄伺服器,所以我這里就有三個ssh-rsa,大家可以看一下。
初始化Git倉庫
注,先選定一個目錄作為Git倉庫,這里是/data/git/project.git。代碼如下:
[root@git ~]# cd /data/git/
[root@git git]# git init --bare project.git
[root@git project.git]# ls
branches config description HEAD hooks index info objects refs執行以上命令 Git命令,會創建一個裸倉庫,裸倉庫沒有工作區,因為伺服器上的Git倉庫純粹是為了共享,所以不讓用戶直接登錄到伺服器上去改工作區,並且伺服器上的Git倉庫通常都以.git結尾。然後,把owner改為git:
代碼如下:
[root@git git]# chown -R git.git project.git
[root@git git]# ls -l總計 4
代碼如下:
drwxr-xr-x 7 git git 4096 05-09 13:50 project.git
禁用shell登錄
注,出於安全考慮,第二步創建的git用戶不允許登錄shell,這可以通過編輯/etc/passwd文件完成。找到類似下面的一行:代碼如下:
[root@git ~]# cat /etc/passwd | grep git
git:x:1001:1001:git version control:/home/git:/bin/bash改為:
代碼如下:
[root@git ~]# vim /etc/passwd
git:x:1001:1001:git version control:/home/git:/usr/bin/git-shell這樣,git用戶可以正常通過ssh使用git,但無法登錄shell,因為我們為git用戶指定的git-shell每次一登錄就自動退出。
克隆遠程倉庫
注,現在可以通過git clone命令克隆遠程倉庫了,在各自的電腦上運行:
注,$ git clone [email protected]:/data/git/project.git,其中git用戶名,git.jjhh.com伺服器,/data/git/prgject.git是倉庫路徑。好了,到這里伺服器的搭建到這里就完成了,下面我們來安裝一下客戶端。創建SSH Key
首先在用戶主目錄下,看看有沒有.ssh目錄,如果有,再看看這個目錄下有沒有id_rsa和id_rsa.pub這兩個文件,如果已經有了,可直接跳到下一步。如果沒有,打開Shell(Windows下打開Git Bash),創建SSH Key:代碼如下:
$ ssh-keygen -t rsa -C "[email protected]"
你需要把郵件地址換成你自己的郵件地址,然後一路回車,使用默認值即可,由於這個Key也不是用於軍事目的,所以也無需設置密碼。
如果一切順利的話,可以在用戶主目錄里找到.ssh目錄,裡面有id_rsa和id_rsa.pub兩個文件,這兩個就是SSH Key的秘鑰對,id_rsa是私鑰,不能泄露出去,id_rsa.pub是公鑰,可以放心地告訴任何人。Git伺服器打開RSA認證
然後就可以去Git伺服器上添加你的公鑰用來驗證你的信息了。在Git伺服器上首先需要將/etc/ssh/sshd_config中將RSA認證打開,即:
1.RSAAuthentication yes
2.PubkeyAuthentication yes
3.AuthorizedKeysFile .ssh/authorized_keys
這里我們可以看到公鑰存放在.ssh/authorized_keys文件中。所以我們在/home/git下創建.ssh目錄,然後創建authorized_keys文件,並將剛生成的公鑰導入進去。
然後再次clone的時候,或者是之後push的時候,就不需要再輸入密碼了:代碼如下:
Zhu@XXX/E/testgit/8.34
$ git clone [email protected]:/data/git/learngit.git
Cloning into 'learngit'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
⑶ git 伺服器的使用 我自己在centos 伺服器上搭了倉庫
1. lvm 2. raid 3. distribute filesystem(glusterfs\sector\......) 4 (我不知道了) 前面的三選一,做完之後,兩塊盤當一塊用,之後就是建個基本的伺服器的事了。
⑷ linux如何搭建git
1、環境准備
伺服器:CentOS 7.3 + git (1.8.3.1)
客戶端:win10 + git (2.17.0.windows.1)
2、伺服器安裝git
yum install -y git
3、創建git用戶,管理 git服務
[root@localhost home]# useradd git
[root@localhost home]# passwd git
4、伺服器創建git 倉庫
設置/home/git/repository-git 為git 伺服器倉庫,然後把 git 倉庫的 owner 修改為 git 用戶。
復制代碼
[root@localhost git]# mkdir repository-git
[root@localhost git]# git init --bare repository-git/
Initialized empty Git repository in /home/git/repository-gt/
[root@localhost git]# chown -R git:git repository-git/
5、客戶端安裝git
下載 Git for Windows,地址:https://git-for-windows.github.io/
安裝完之後,可以使用 Git Bash 作為命令行客戶端。
5.1、選擇一個目錄 F:\project\sell 作為本地倉庫,右鍵進入Git Bash 命令行模式
初始化本地倉庫:git init
5.2、嘗試克隆一個伺服器的空倉庫到本地倉庫
git clone [email protected]:/home/git/repository-gt
第一次連接到目標 Git 伺服器時會得到一個提示:
The authenticity of host '192.168.116.129(192.168.116.129)' can't be established.
RSA key fingerprint is SHA256:Ve6WV/.
Are you sure you want to continue connecting (yes/no)?
選擇 yes:
Warning: Permanently added '192.168.116.129' (RSA) to the list of known hosts.
此時 C:\Users\用戶名\.ssh 下會多出一個文件 known_hosts,以後在這台電腦上再次連接目標 Git 伺服器時不會再提示上面的語句。
⑸ 如何搭建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。
⑹ 如何在centos上搭建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即可
⑺ git怎麼在centos下設置遠程倉庫
遠程倉庫搭建
step1:安裝git
```yum -y install git```
step2:創建用戶git,用來運行git服務
useradd git
passwd git //修改git用戶的密碼
step3:創建登錄用戶證書
收集所有需要登錄的用戶的公鑰,就是他們自己的id_rsa.pub文件,把所有公鑰導入到/home/git/.ssh/authorized_keys文件里,一行一個
step4:初始化git倉庫
1.創建目錄/git,在/git目下再創建一個.git結尾的目錄,作為一倉庫,這里創建一個/git/test.git,並且進入/git目錄 2.初始化倉庫git init --bare test.git Git就會創建一個裸倉庫,裸倉庫沒有工作區,伺服器上的Git倉庫純粹是為了共享 所以不讓用戶直接登錄到伺服器上去改工作區,並且伺服器上的Git倉庫通常都以.git結尾 3.將倉庫的owner改為git chown -R git:git test.git 4.出於安全考慮,第二步創建的git用戶不允許登錄shell,這可以通過編輯/etc/passwd文件完成,找到git用戶的那一行將git:x:500:500::/home/git:/bin/bash改為git:x:500:500::/home/git:/usr/bin/git-shell .git-shell每次一登錄就自動退出.
step5:自此整個git遠程倉庫就搭建完成,就可以像使用github那樣使用搭建好的遠程倉庫與你的team功能開發了.
本地與搭建好的倉庫交互
git remote add origin [email protected]:/git/test.git 這里的ip是你主機的ip
git clone [email protected]:/git/test.git 將遠程倉庫克隆到本地的倉庫
git push origin master 推送到遠程倉庫
⑻ 如何使用centos 搭建git
在很多Linux系統庫中都有Git,可以直接用命令行安裝。
例如Fedora中可以直接用yum install git等,參考如下:
Debian/Ubuntu
$ apt-get install git
Fedora
$ yum install git
Gentoo
$ emerge --ask --verbose dev-vcs/git
Arch Linux
$ pacman -S git
openSUSE
$ zypper install git
FreeBSD
$ cd /usr/ports/devel/git$ make install
Solaris 11 Express
$ pkg install developer/versioning/git
OpenBSD
$ pkg_add git
新版的CentOS後續好像也支持了這個功能,但是這種方法雖然簡單,但是一般倉庫里的版本更新不及時,比如 CentOS 倉庫中的 git 最新版是1.7.1,但是 git 官方已經到2.x 的版本了。對於想要獲取最新git的系統,只能下rpm包或者用源碼。
步驟如下:
1、下載編譯工具
yum groupinstall 「Development Tools」
2、下載依賴包
yum install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel
3、下載 git 最新版本的源代碼
wget http://www.codemonkey.org.uk/projects/git-snapshots/git/git-latest.tar.gz
或者
wget http://www.codemonkey.org.uk/projects/git-snapshots/git/git-latest.tar.xz
4、解壓源文件
tar -zxvf git-latest.tar.gz
或者
xz -d git-latest.tar.xz
tar -xvf git-latest.tar
5、編譯安裝
autoconf
./configure
make -jn && make -jn install
其中make -j n中的n為指定線程數,對於多核處理器這樣可以加快編譯安裝的速度
6、添加link
ln -s /usr/local/bin/git /usr/bin/
這一步對於原本系統中有舊版git的系統很重要,會報告Link已存在,此時要刪除原來的Link即/usr/bin/git,再執行第六步。
7、檢查版本號
git --version
對於系統中存在老版的git的系統,安裝了新git後用git --version查看仍然顯示為老版就是因為i忽略了第六步,這是很重要的!