1. 程式人生 > >Git丨在CentOS下搭建私有的git伺服器

Git丨在CentOS下搭建私有的git伺服器

在日常的專案開發中,我們可以傻瓜式的使用github進行程式碼託管,進而進行團隊的協同開發。但是很多時候我們開發的程式碼並不是開源的(特別是涉及到公司的業務上),這時候在伺服器上面部署git就可以很好地解決這個問題——既保證了團隊開發,又能閉源達到程式碼託管。本文將以CentOS為例子,記錄在CentOS下部署git伺服器的具體步驟

伺服器端:

第一步:配置git

1.1 從yum上安裝git

yum –y install git

1.2 檢視git版本:安裝完成後,在伺服器端輸入

git --version

就可以檢視當前版本號碼,如下圖所示我的git版本是1.8.3.1

  

1.3 建立使用者:在伺服器中建立一個git專屬使用者

//以下為CentOS下的使用者,賬戶密碼自定義
useradd git
passwd  git  

1.4 禁止該git使用者使用shell登入系統(為了安全性,一般都禁止)

vi /etc/passwd

 按i進入編輯模式,在最後一行將git使用者修改成以下配置

git:x:1000:1000::/home/git:/usr/bin/git-shell

按ESC退出插入模式,輸入 “:wq” 儲存並且退出vi模式 

第二步:配置遠端倉庫

2.1 建立一個空倉庫

我們選擇在路徑:cd  /home/ 下先建立一個使用者目錄,在使用者目錄下建立一個git倉庫

cd /home   
mkdir git  
cd git   
git init --bare LearnProject.git  

到這裡,空倉庫已經建立成功 ,倉庫的路徑為:/home/git/LearnProject.git

2.2 為剛剛建立的使用者git賦予許可權

輸入以下命令,為git使用者賦予許可權

//chown -R 使用者名稱:組名 檔案
chown -R git:git LearnProject.git

第三步:開啟 RSA 認證

進入/etc/ssh目錄,編輯 sshd_config

cd  /etc/ssh 
vi ssh_config

 按i進入插入模式,開啟以下三個配置的註釋(帶#為註釋), 按ESC退出插入模式,按:wq儲存

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

儲存完成後,重啟sshd服務

/etc/rc.d/init.d/sshd restart

如果執行上述命令出現以下錯誤: 

  

可以嘗試以下命令:

service sshd restart

至此,伺服器端git配置完成;

客戶端

第一步:配置git

1.1 安裝git

在Linux上參考伺服器端安裝git,在Windows下教程很多,安裝也傻瓜式,這裡不再贅述

1.2 開啟git bash建立git使用者

git config --global user.name "Tanzj"
git config --global user.email "[email protected]"

1.3 建立與伺服器通訊的金鑰

在git bash中,輸入以下命令,為自己的郵箱建立一個金鑰

ssh-keygen -t rsa -C "[email protected]"

一路enter下去

  

這時候,系統已經為我們建立了一個公鑰和金鑰,id_rsa是金鑰,不能告訴任何人,id_rsa.pub是公鑰,可以公開;

1.4 將本地的公鑰新增到伺服器上

1.4.1 通過客戶端命令列將本地公鑰新增進遠端伺服器中

在gitbash下,輸入以下命令(ip地址換成你git伺服器的地址)

 ssh [email protected] 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

1.4.2 手動將公鑰新增到伺服器中

在1.3中,我們建立了一個公鑰,以Windows系統為例子,我們先找到這個檔案。這個檔案的路徑在:

C:\Users\Administrator\.ssh\id_rsa.pub

用記事本的方式開啟,我們會得到一串這樣的東西

將以上Ctrl+A全選然後複製。

在伺服器端,我們用vi編輯器訪問authorized_keys,將以上資訊貼上進其中

vi /home/git/.ssh/authorized_keys

 

 然後:wq儲存。

通過以上1.4.1和1.4.2兩種方法,我們就將本地的公鑰新增進伺服器中了。如果發現該目錄下沒有.ssh檔案,我們可以手動建立一個,並新增一個authorized_keys

第二步:克隆遠端倉庫

將遠端空倉庫克隆到本地

2.1 建立本地資料夾

假設我們在D:/gitRepo/gitTest下建立一個用於本地的git倉庫資料夾

cd D:
mkdir gitRepo
cd gitRepo
mkdir gitTest

2.2 克隆遠端倉庫

//埠在22的情況下
git clone [email protected]:/home/git/LearnProject.git

//埠在非22的情況下(如5000)
git clone ssh://[email protected]:5000/home/git/LearnProject.git

這時候,bash會提示你克隆的倉庫是空的(的確是空的hhh)

至此,我們就完成了遠端倉庫的克隆。

第三步:push/pull專案

做完以上伺服器端/客戶端各兩步的內容,你的本地git已經可以和git伺服器進行通訊了,此時我們可以進行常規的專案push和pull了。

3.1 為倉庫新增內容

這裡我們隨便把自己的一個專案丟進去(或者隨意建立一個檔案亦可,空資料夾git不會識別)

3.2 提交修改

然後執行以下命令

git add .
git commit -m 初始化專案

這時候,我們就為本地建立了一次commit

3.3 push本地修改

執行以下命令

// origin 是遠端倉庫的別名,可以通過 git remote -v 檢視
//master 是預設主分支
git push origin master

見到以上內容,便說明push成功。

3.3 git伺服器遠端倉庫檢視commit

  進入到伺服器遠端倉庫的目錄

cd /home/git/LearnProject.git
git log

  

看到我們的push已經生效。

至此,本文結束,如有錯誤,請不吝指教!

相關推薦

GitCentOS搭建私有的git伺服器

在日常的專案開發中,我們可以傻瓜式的使用github進行程式碼託管,進而進行團隊的協同開發。但是很多時候我們開發的程式碼並不是開源的(特別是涉及到公司的業務上),這時候在伺服器上面部署git就可以很好地解決這個問題——既保證了團隊開發,又能閉源達到程式碼託管。本文將以Cen

Centos伺服器ssh免密登入以及搭建私有git伺服器

一、概述   伺服器的免密登入和git伺服器的搭建,關鍵都是要學會把自己用的機器的公鑰新增到伺服器上,讓伺服器“認識”你的電腦,從而不需要輸入密碼就可以遠端登入伺服器上的使用者   免密登入當然是登入root使用者,而搭建git伺服器需要在伺服器上建立一個git使用者。注意伺服器上每個使用者識別的公鑰存在不同

在Linux上搭建私有Git伺服器並建立私有遠端倉庫

       遠端倉庫實際上和本地倉庫沒啥不同,純粹為了 7x24 小時開機並交換大家的修改。GitHub 是一個免費託管開原始碼的遠端倉庫; 但是對於某些資原始碼(如生命的商業公司來說),不想公開原始碼, 可以自己搭建一臺 Git 伺服器作為私有倉庫使用。

如何在windows上搭建私有git伺服器

 注:本文使用gitblit 1、下載並安裝jdk. 點選Accept,根據PC配置下載32位或64位的jdk 2、配置Java環境變數 右鍵” 計算機” => ”屬性” => ”高階系統設定” => ”高階” => “環境變數” =&

利用阿里雲搭建私有Git伺服器

伺服器系統:Centos 6 (檢視centos版本命令:lsb_release -a) 客戶端系統:Windows 7 一、伺服器端安裝Git ==通常centos上使用yum源安裝的git版本過低== 1. 檢查系統上是否已經安裝git,若已有則解除安裝 // 檢視當前git版本 #

[Git]不給Github交保護費:CentOS的私人Git搭建方法

這篇文章可以結合我上一篇文章來看,也就是搭建ECS伺服器的教程: 1.首先安裝git 安裝前試著用下面這行命令看看你的伺服器上裝沒裝git,如果沒裝,再去安裝: git --version安裝指令: yum install -y git 2.建立Git管理使用者,

CentOS 7 搭建 gogs Git 伺服器

CentOS 7 搭建 gogs Git 伺服器 本地環境如下: Linux 系統環境為:CentOS Linux releas

通過用戶名、密碼提交的方式搭建私有git服務端

服務 byte fat comm protoc delta .com abc ref 1. 系統環境 centos 7 git 1.8.3 yum -y install git 2).創建屬於自己的git庫   mkdir /myGit

利用阿裏雲搭建私有Git服務器

clone tar.gz 時報 郵箱 log 項目 fun con archive 服務器系統:Centos 6 (查看centos版本命令:lsb_release -a) 客戶端系統:Windows 7 一、服務器端安裝Git ==通常centos上使用yum源安裝

Centos安裝gitolite+git

一直以來我都是用SVN的,但最近做迭代開發、多分支時,發現SVN使用起來極不方便。因此打算換成git做原始碼管理。git的理論以及特性本文就不做講解了,本主主要講解怎麼安裝,配置git、以及git許可權管理服務gitolite. 組網結構 git伺服器是用於儲存git

centos 6.8搭建PPTP VPN伺服器

centos 6.8下搭建PPTP VPN伺服器 一. 通過yum安裝 ppp和pptpd yum -y install ppp pptpd 二. 配置pptpd相關引數 2.1 配置/etc/pptpd.conf 找到下面兩行,去掉註釋,並修改IP

CentOS搭建SVN伺服器

一,介紹SVN     SVN是Subversion的簡稱,是一個開放原始碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。網際網路上很多版本控制服務已從CVS遷移到Subversion。說得簡單一點SVN就是用於多個人共同開發同一個

linux/centos 的安裝git

下載git wget https://github.com/git/git/archive/v2.14.1.zip 安裝依賴 sudo yum -y install zlib-devel openss

Git Servers Windows搭建

下載所需軟體 git gitblit jdk 重點是gitblit 下載好後解壓即可 建立一個用於儲存庫的資料夾 進入安裝目錄的data資料夾下修改配置檔案,若gitblit中有include其他配置檔案,則進入其他配置

CentOS 7搭建配置SVN伺服器

1. 安裝 CentOS通過yum安裝subversion。 $ sudo yum install subversion  subversion安裝在/bin目錄: $ which svnserve /bin/svnserve 檢查一下subversion是

Centos搭建SVN伺服器並同步倉庫內容到WEB目錄

第一步:安裝svnversion Centos下可以使用yum安裝,自動配置環境變數 yum install subversion 安裝完成後可以用 svn help來檢查是否安裝成功 第二步:配置svnversion mkdir -p /home/svn/r

CentOSGerrit程式碼評審伺服器搭建與使用

一、準備工作         安裝CentOS7作業系統,準備Gerrit軟體安裝包:gerrit-2.10.war。         安裝sendmail: [[email protected] ~]#yum install -y sendmail      

通過使用者名稱、密碼提交的方式搭建私有git服務端

1. 系統環境 centos 7 git 1.8.3 yum -y install git 2).建立屬於自己的git庫   mkdir /myGit   git init --bare xiangyun.git    3). 新增使用者 user

linux(centOS)搭建node伺服器三、 pm2管理和保持後臺執行node應用

一、安裝pm2 全域性安裝pm2: npm install -g pm2 安裝完成檢視幫助命令(pm2 -h)報錯: -bash:pm2:command not found 執行: ln

Git在Windows搭建本地遠端倉庫及一些問題小結

Git是一個好東西,但是一般都是用來和Github互動,而如果是在公司內部、研發小組內部使用,把程式碼放在github就不合適了,所以需要在本地建立遠端倉庫。 這兩天一直在搞這個東西,但是踩了無數的坑,主要原因有二:①git通訊主要是ssh,有人說github用https替