1. 程式人生 > >如何在伺服器上搭建Git版本倉庫(乾貨)

如何在伺服器上搭建Git版本倉庫(乾貨)

一、搭建思想(很重要!!!)


主要分為兩個方面,Git倉庫和專案庫(圖用的畫圖工具畫的,太low了.......)

1、你需要在你伺服器上擁有一個Git倉庫(提供者)

2、本地倉庫、你的伺服器專案倉庫、或者其他伺服器倉庫(實際使用者),開發或者上線的庫

二、搭建過程

我的伺服器是:CentOS6.*版本(7.0以上有改動不知道好使不,大家可以踩一下坑)

1、伺服器安裝git

# yum install -y git
執行命令之後,可以檢視一下版本

$ git --version
[[email protected] ~]# git --version
git version 1.7.1

2、安裝完成之後需要在伺服器上建立使用者進行Git倉庫管理,並設定密碼(我設定的為git名稱的使用者)

檢視一下有沒有git這個使用者

[[email protected] ~]# id git

新增git這個使用者

[[email protected] ~]# useradd git

為git使用者設定密碼

passwd git

3、核心,現在你需要在你的伺服器上選擇某一個目錄作為你的版本庫存放地址

OK,那我們現在首先建立一個倉庫的目錄

[[email protected] home]# mkdir -p test/git

然後可以在這個目錄下建立你新建的專案地址

[[email protected] git]# mkdir -p aa.git

建立完成之後看一下

[[email protected] git]# ll
total 12
drwxr-xr-x 2 root root 4096 Feb  2 15:04 aa.git
drwxrwxrwx 7 git  git  4096 Jan  4 14:38 gittest.git
drwxrwxrwx 8 git  git  4096 Jan  4 14:34 shop.git

然後你需要把專案進行初始化(如下,記得不能直接 git init)

[[email protected]
git]# git init --bare aa.git Initialized empty Git repository in /home/test/git/aa.git/

你上面看到的,aa.git是歸屬於root使用者的 ,現在更改為git使用者(如果你建立的其他使用者,更改為其他使用者許可權)

[[email protected] git]# chown -R git:git aa.git/
[[email protected] git]# ll
total 12
drwxr-xr-x 7 git git 4096 Feb  2 15:06 aa.git
drwxrwxrwx 7 git git 4096 Jan  4 14:38 gittest.git
drwxrwxrwx 8 git git 4096 Jan  4 14:34 shop.git

以上伺服器的git倉庫搭建完畢,下面我們需要在本地進行clone(開發使用)和伺服器上專案存放目錄(測試庫或者專案庫)進行克隆。

三、本地倉庫、伺服器(測試)倉庫和.ssh的配置過程

1、Ok,現在在你本地,選擇一個目錄作為本地開發專案倉庫(39.105.78.33是你的伺服器外網IP)你也可以解析成域名。

[email protected] MINGW64 /d/test
$ git clone [email protected]:/home/test/git/aa.git
Cloning into 'aa'...
warning: You appear to have cloned an empty repository.

如果你發現你報錯不能克隆,好的那是因為你沒有配置好ssh祕鑰(我的已經配置好了所以直接成功了)

2、好的,現在我們開始配置ssh,在你本地家目錄,開啟Git Bash

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

執行這個命令,然後你就一路傻瓜式確定(Yes)就行

然後你會發現C:\Users\Administrator\.ssh路徑下會有

id_rsa 私鑰

id_rsa.pub 公鑰

生成之後,在你的伺服器端

[[email protected] .ssh]# cd /etc/ssh

[[email protected]luibm3hesz36v3tZ ssh]# vim sshd_config

註釋掉下面的三個

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

儲存並重啟 sshd 服務:

[[email protected] ssh]# /etc/rc.d/init.d/sshd restart

我們現在看一下

[[email protected] .ssh]# cd ~
[[email protected] ~]# ll -a

然後你會發現有一個.ssh的,如果你需要把專案中的某一個資料夾作為專案目錄,你需要把伺服器上的公鑰配置到git使用者的許可權之下,也就是我們建立的git使用者的.ssh中的authorized_keys

[[email protected] ~]# ssh-keygen -t rsa -C '你的郵箱'
[[email protected] ~]# cd .ssh/
[[email protected] .ssh]# ll -a
total 20
drwx------  2 root root 4096 Jan  2 18:40 .
dr-xr-x---. 7 root root 4096 Jan 30 20:39 ..
-rw-------  1 root root    0 Dec 25 19:41 authorized_keys
-rw-------  1 root root 1675 Jan  2 18:08 id_rsa
-rw-r--r--  1 root root  402 Jan  2 18:08 id_rsa.pub
-rw-r--r--  1 root root  394 Jan  2 17:34 known_hosts
[[email protected] .ssh]# 

而我們git使用者實際放公鑰的地址不是這裡,這裡只是你伺服器的一個公鑰

現在我們開始建立git使用者的公鑰和設定

[[email protected] git]# pwd
/home/git

建立.ssh

[[email protected] git]# mkdir .ssh

[[email protected] git]# ll -a
total 12
drwxr-xr-x  3 root root 4096 Jan  2 17:23 .
drwxr-xr-x. 4 root root 4096 Jan  2 17:22 ..
drwx------  2 root root 4096 Jan 30 20:39 .ssh
[[email protected] git]#

現在你看到的肯定是root的許可權組,現在需要更改為git許可權

[[email protected] git]# chown -R git:git .ssh

[[email protected] git]# ll -a
total 12
drwxr-xr-x  3 root root 4096 Jan  2 17:23 .
drwxr-xr-x. 4 root root 4096 Jan  2 17:22 ..
drwx------  2 git  git  4096 Jan 30 20:39 .ssh

然後我們回到我們本地的Git Bash 把 本地的authorized_keys匯入到伺服器

[email protected] MINGW64 /d/test
$ ssh [email protected] 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

現在你可以看一下

[[email protected] git]# cd .ssh/
[[email protected] .ssh]# ll -a
total 12
drwx------ 2 git  git  4096 Jan 30 20:39 .
drwxr-xr-x 3 root root 4096 Jan  2 17:23 ..
-rw------- 1 git  git  1191 Jan 10 20:41 authorized_keys
許可權修改,很重要
[[email protected] git]# chmod 700 .ssh
[[email protected] git]# ll -a
total 12
drwxr-xr-x  3 root root 4096 Jan  2 17:23 .
drwxr-xr-x. 4 root root 4096 Jan  2 17:22 ..
drwx------  2 git  git  4096 Jan 30 20:39 .ssh

[[email protected] .ssh]# chmod 600 authorized_keys
[[email protected] .ssh]# ll -a
total 12
drwx------ 2 git  git  4096 Jan 30 20:39 .
drwxr-xr-x 3 root root 4096 Jan  2 17:23 ..
-rw------- 1 git  git  1191 Jan 10 20:41 authorized_keys

有了這個檔案了,你就可以把你的祕鑰(C:\Users\Administrator\.ssh)或者別人的祕鑰配置在這個地方了,現在你就可以進行專案的clone了。

另外你建立的git使用者是可以使用ssh登入伺服器的 ,如果你想要禁止的話

[[email protected] /]# vim /etc/passwd

進行以下修改

git:x:500:500::/home/git:/bin/bash
git:x:500:500::/home/git:/bin/bash-shell

基本上到這裡就結束了 ,其中有哪裡寫的不好的,希望大家多多留言,有什麼問題大家可以留言,我看到後基本上都會回答的,寫的有點囉嗦了,只是希望能給需要的人講解明白。

https://juejin.im/post/5a7802846fb9a063317c2e92?utm_source=gold_browser_extension

相關推薦

如何在伺服器搭建Git版本倉庫乾貨

一、搭建思想(很重要!!!) 主要分為兩個方面,Git倉庫和專案庫(圖用的畫圖工具畫的,太low了.......) 1、你需要在你伺服器上擁有一個Git倉庫(提供者) 2、本地倉庫、你的伺服器專案倉庫、或者其他伺服器倉庫(實際使用者),開發或者上線的庫 二、搭建過程 我的伺服器是:CentOS6.*版本(

如何在伺服器搭建Git版本倉庫?------玉米都督

最近要做一個django的商城網站放在伺服器上,. 以前都是用xftp 直接上傳修改原始碼.但是發現這種方法太lowB 所以需要學習一下git 技術   網站原始碼沒有放在git倉庫下,伺服器上分了2個部分,一個是git自己的版本控制,另外一個則是git 的鉤子 勾到

在Linux伺服器搭建Git遠端倉庫並Push本地庫

伺服器 安裝Git 新增git使用者 adduser git -m 設定密碼 passwd git 切換到git使用者,新建repos目錄,在該目錄下新建庫hello.git目錄, cd到hello.git目錄,初始化該庫: git --ba

伺服器搭建 Git倉庫

服務端 安裝Git [root@localhost ~]# yum install -y git 建立一個git使用者,用來執行git服務 [root@localhost ~]# adduser git && cd ~git [roo

利用win10的Linux子系統在PC搭建git遠端倉庫

在windows上搭建git遠端倉庫一直比較麻煩,主要是由於windows的ssh服務支援比較難辦。Microsoft Store現在提供了一個名為Ubuntu的免費App,執行後可以在windows10上建立一個沒有圖形介面的ubuntu子系統並自帶ssh服

經驗總結-完整介紹Android Studio中Git的使用之在GitHub建立一個遠端倉庫

說完本地Git倉庫,那麼如何將專案上傳至遠端的GitHub倉庫呢?首先我們需要有一個託管平臺,然後需要建立一個倉庫。現在我們開始註冊一個GitHub賬號,然後去後new 一個倉庫吧: 一、首先我們需

在雲伺服器搭建git伺服器遇到的問題及解決

使用了將近一年的騰訊雲伺服器了,學生價很是公道。但是今天遇到了一個極其糾結的問題,在部署git伺服器的時候,始終無法使用ssh公鑰金鑰配對從而免密碼連線(之間我一直使用的是ssh [email protected] 然後輸入密碼的方式連線的)。 伺服器上除了預設的

在IIS搭建WebSocket服務器

復制代碼 .ashx class ctype pen maximum charset ash too 編寫客戶端代碼 1.新建一個*.html文件。 ws = new WebSocket(‘ws://192.168.85.128:8086/Handler1.ashx?use

在同一臺伺服器配置多個Tomcat轉載

轉載地址   http://blog.163.com/[email protected]/blog/static/50004810200871483335100/ 在一臺伺服器上配置多個Tomcat的方法: 這幾天由於在研究OGSA

阿里雲 linux伺服器環境搭建學習 安裝jdk

由於公司用於工作開發的電腦效能不佳,平時在工作過程中沒問題,但是自己去研究一下新框架的時候,一下跑2個idea+4-5個timcat時效能就不夠用了,所以自己購買了一臺低配的阿里雲伺服器,用於自己平時的學習。 寫這個部落格也是記錄下自己從頭到尾搭建服務環境的一個過程,畢竟平時在伺服器上動來動去的

簡單的GIT版本

在安裝完GIT之後,我們便可以使用GIT管理電腦上的檔案了。 很多初學者在安裝完GIT後,便想馬上連線Gitee,Gitee為GIT提供了一個免費的遠端倉庫,而遠端倉庫只是GIT的功能之一。 關於如何使用Gitee,在之後的文章中,會詳細解答。 一、初始化版本庫 GI

win10通過SecureCRT在Linux伺服器部署及使用Fuseki

上一節介紹了基本工具,下面開始具體的操作流程 三、具體步驟 1.部署SecureCRT,通過ip和密碼連線Linux系統,具體怎麼連線就不多說了,不會的可以百度,很多教程。 2將下載好的Fuseki.tar檔案傳送到Linux系統上。 在SecureCRT上點選File——》C

Git 本地倉庫Repository詳解

大綱: 一、前言 二、概述 三、在Windows上安裝Git 四、建立本地倉庫 五、本地倉庫管理詳解 六、總結 注,測試機 CentOS 5.5 x86_64,Git 伺服器版本:git version 1.8.2.1,客戶端版本:git version 1

在亞馬遜雲伺服器部署阿里資料庫Otter

說明:以下指令碼為雙A機房資料庫同步的初始化SQL,如無該需求請忽略之,注意修改密碼 /* 供 otter 使用, otter 需要對 retl.* 的讀寫許可權,以及對業務表的讀寫許可權 1. 建立database retl */ CREATE DATABASE retl; /* 2. 使用者授權 給同步使

搭建Docker本地倉庫

為了更方便管理映象,及在其它電腦間共享映象,所以在本地搭建了個私有倉庫。由於本人手頭上的日常使用電腦沒有linux系統的,所以直接在windows上搭建,技術是相通的,其實與作業系統無任何關係,主要的還是docker技術。 建立倉庫需要registry映象,可以直接執行do

Windows server 2008 r2伺服器安裝MySQL圖文步驟

(一):問題描述 問題描述:安裝MySQL社群版時遇到This application requires .NET framework 4.0. (二):使用工具 mysql 5.6 安裝版64位:連結:https://pan.baidu.com/s/1yZ

中文名檔案傳到linux伺服器以後檔名會亂碼openoffice

1、中文名檔案上傳後儲存在linux伺服器上檔名會亂碼,但是我們通過SSH直接對伺服器上的一個檔案進行重新命名是可以使用中文的,而且顯示出來是正確的,這說明伺服器是可以支援中文的。 2、而為什麼上傳的中文名檔案儲存起來以後檔名會亂碼呢?這是因為Windows的預設編碼為GB

在亞馬遜雲伺服器部署阿里資料庫Otter

   mkdir manager    cd  manager    wget https://github.com/alibaba/otter/releases/download/otter-x.y.z/manager.deployer-x.y.z.tar.gz    tar zxvf manager.de

git 伺服器搭建,在自己伺服器搭建私有倉庫

建立一個簡單的私人Git版本控制伺服器,首先得有個伺服器(屁話)。這種方式適合人比較少的情況,管理不需要很複雜,只要增加幾個賬號就能搞定。 如下面的情況,有一個伺服器,兩個客戶端。 伺服器:Debian7.5 (192.168.10.14) 用 戶:git (git-s

在linuxCentOS搭建git伺服器和配置gitolite許可權管理

什麼是git伺服器?我覺得其實就是集中存放git倉庫的伺服器,只不過這些git倉庫要對外開放,讓其他人來連線和push程式碼。 當前伺服器上集中管理的git倉庫不是使用git init來建立的,而是使用git --bare init來建立的空白倉庫,建立很簡單,關鍵是如何管