雲主機搭建Git伺服器

2021-09-19 18:24:00 字數 1665 閱讀 5252

git

git是乙個開源的分布式版本控制系統,可以有效、高速地處理從很小到非常大的專案版本管理,是 linus torvalds 為了幫助管理 linux 核心開發而開發的乙個開放原始碼的版本控制軟體。由於其分布式的特點,我們完全可以只在本地儲存整個專案倉庫,但考慮多人協作的需求,一般情況是建立乙個遠端倉庫,專案的所有開發者都圍繞這個遠端倉庫進行同步和提交。雖然github已經免費提供了這樣的遠端倉庫給使用者,但這種倉庫一般是全網公開,即所有人都可以看到裡面的提交。如果我們自己有云主機(最好是linux系統)的話,要搭建乙個git伺服器建立遠端倉庫並不難,現在讓我們開始吧。

遠端倉庫

搭建git伺服器不需要什麼複雜的工具,因為git這個工具已經包括所有的功能。

安裝git

一般linux的發行版已經內建git,如果沒有的話安裝一下

sudo apt-get install git

sudo adduser git

該使用者是用來執行我們git伺服器的,在雲主機上與我們的普通使用者區分。當我們的本地git客戶端與遠端倉庫互動時,雲主機上用來執行git程式的使用者就是我們剛新增的git了。對該使用者設定一下密碼:

sudo passwd git

禁用登陸git

由於使用者git主要作為倉庫使用,一般人員不可以也不應該登陸和進入git,所以使用工具git-shell禁止使用者git登陸shell。

先在/etc/shells中加入/usr/bin/git-shell作為可用shell;

sudo vim /etc/shells

然後改變使用者git的預設shell。

sudo chsh git -s git-shell

建立倉庫

由於使用者git已經禁止登陸了,我們直接使用root許可權在/home/git目錄上建立所有遠端倉庫的目錄srv/

sudo mkdir /home/git/srv

此時可以在srv/上建立乙個空的遠端倉庫,命令為:

sudo cd /home/git/srv

sudo git init --bare elephant.git

其中--bare引數表示裸倉庫,一般會將遠端倉庫初始化為裸倉庫。

現在最好設定好倉庫的許可權,由使用者git來管理,其他使用者無管理許可權。

sudo chown -r git /home/git/srv

sudo chmod -r 770 /home/git/srv

客戶端登陸

現在客戶端需要與遠端倉庫同步,可以用ssh進行登陸,而且git也支援ssh連線。

客戶端需要建立ssh-key,使用ssh-keygen建立公鑰私鑰

ssh-keygen -t rsa -c "***@email.com"

windows一般把生成的公鑰私鑰放在

c:users***x.ssh\

把.sshid_rsa.pub(公鑰)的內容拷貝出來,放置到雲主機的git使用者的/home/git/.ssh/authorized_keys()中,表示已認證過的公鑰。

此時,在本地git客戶端則可以使用以下命令拉取到遠端倉庫了

git clone git@server:srv/elephant.git了

上面的倉庫位址中,git表示雲主機的使用者git,server表示主機位址,即云主機的ip,加上後面的內容則表示雲主機上的/home/git/srv/elephant.git這個裸倉庫。

阿里雲git伺服器搭建

首先說一下我雲伺服器的配置,我租的是阿里雲,記憶體1g,頻寬1m,硬碟20g,裝的系統是ubuntu14.04 lts,這樣 的配置對於個人使用我覺得綽綽有餘了。之前用git都是在github上,雖然方便但是對於愛折騰的人來說遠遠不夠,而且github上的私有庫是收費的,於是決定自己搭乙個自己的gi...

騰訊雲,搭建Git伺服器

git 是一款免費 開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的專案。此實驗以 centos 7.2 x64 的系統為環境,搭建 git 伺服器。為了後續安裝能正常進行,我們先來安裝一些相關依賴庫和編譯工具 yum install curl devel expat devel gett...

Git 搭建git伺服器

環境 ubuntu16.4 1.以root使用者登陸linux後台,執行下面的命令安裝git apt install git2.建立git使用者 adduser git3.建立倉庫目錄 su git mkdir p repository myself.git4.初始化倉庫 cd repository...