最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何自己搭建簡單的Git服務(wù)器

 更新時(shí)間:2022年12月03日 10:43:59   投稿:yin  
這篇文章主要介紹了如何自己搭建簡單的Git服務(wù)器。自己搭建 Git 服務(wù)器的原因,無非就是不方便訪問外網(wǎng),不愿意代碼放在別人的服務(wù)器,或者有一些定制化的需求。

程序員的代碼倉庫,總是需要托管一份在服務(wù)器,這樣才保險(xiǎn),也方便使用。今天就來談?wù)?Git 服務(wù)器。

一、代碼托管服務(wù)

一般情況下,都不建議自己搭建 Git 服務(wù)器,而要使用現(xiàn)成的服務(wù),也就是代碼托管服務(wù)。它們都是免費(fèi)的。

GitHub
Gitlab
Bitbucket
Codeberg
sourcehut
Gitee

其中,除了最后一家 Gitee 是國內(nèi)的服務(wù),其他都是國外的服務(wù)。

這些外部服務(wù),就不多做介紹了。本文的重點(diǎn)不是它們,而是想談如果不得不自己搭建 Git 服務(wù)器,那該怎么做。

二、Git 服務(wù)器軟件

自己搭建 Git 服務(wù)器的原因,無非就是不方便訪問外網(wǎng),不愿意代碼放在別人的服務(wù)器,或者有一些定制化的需求。

這時(shí),你可以選擇開源的 Git 服務(wù)器軟件。

Gitlab CE
Gitea
Gogs
Onedev

這些軟件里面,Gogs 的安裝是最簡單的,但是功能相對比較弱。功能越強(qiáng)的軟件,安裝越復(fù)雜。

如果你只是想遠(yuǎn)程保存一份代碼,并不在意有沒有 Web 界面,或者其他功能,那么根本不用安裝上面這些軟件,一行命令就夠了。

三、Git 倉庫的 SSH 傳輸

熟悉 Git 的同學(xué)可能知道,Git 默認(rèn)支持兩種傳輸協(xié)議:SSH 和 HTTP/HTTPS。

服務(wù)器一般都自帶 SSH,這意味著,我們可以什么都不安裝,只通過 SSH 就把倉庫推到遠(yuǎn)程服務(wù)器。

所以,一條命令就夠了。我們只要在遠(yuǎn)程服務(wù)器上,建立同名的 Git 倉庫,服務(wù)器就搭建好了。

$ git init --bare [倉庫名].git

上面命令中,各個(gè)部分的含義如下。

(1)git init:初始化一個(gè) Git 倉庫。

(2)--bare:表示新倉庫不需要工作目錄,只建立 Git 數(shù)據(jù)目錄。

(3)[倉庫名].git:指定倉庫名,比如倉庫名是example,那么就要建立一個(gè)叫做example.git的 Git 數(shù)據(jù)目錄。

執(zhí)行這條命令以后,一個(gè)最簡易的 Git 服務(wù)器就誕生了。后面,我們就可以通過 SSH 連接,把本地代碼推送到這個(gè)遠(yuǎn)程 Git 倉庫了。

四、操作演示

下面,我演示一下整個(gè)操作過程。

操作分成兩部分,先在遠(yuǎn)程服務(wù)器操作,然后在本地計(jì)算機(jī)操作。

4.1 遠(yuǎn)程服務(wù)器操作

下面的操作都在遠(yuǎn)程服務(wù)器完成,假設(shè)你已經(jīng)通過 SSH 登錄上去了。不熟悉 SSH 的同學(xué)可以看參考這篇《SSH 入門》。

登錄遠(yuǎn)程服務(wù)器的目的,主要是新建一個(gè)專門的用戶,所有的 Git 操作都通過該用戶完成。這一步其實(shí)不是必需的,但是這樣后期操作比較靈活(比如倉庫可以讓多人共享)。

$ sudo mkdir /home/git
$ sudo useradd git
$ sudo mkdir -m 700 /home/git/.ssh
$ sudo cp ~/.ssh/authorized_keys /home/git/.ssh/

上面命令的含義如下。

(1)新建新用戶的主目錄/home/git

(2)新建一個(gè)用戶,用戶名為git

(3)新建新用戶的 SSH 目錄/home/git/.ssh。

(4)把當(dāng)前用戶的公鑰拷貝給git用戶,以便密鑰登陸。

如果你只用密碼登錄,不使用密鑰登錄,那么上面第三步和第四步是不需要的,但是需要為git用戶設(shè)定密碼,命令如下。

$ sudo passwd git

4.2 本機(jī)計(jì)算機(jī)操作

后面的操作都在本地計(jì)算機(jī)完成。

假定上一小節(jié)的遠(yuǎn)程服務(wù)器的 IP 地址是192.168.1.25,本地的 Git 倉庫名為example。

$ ssh git@192.168.1.25 git init --bare example.git

上面命令中,ssh git@192.168.1.25表示以git用戶的身份,登錄到遠(yuǎn)程服務(wù)器。后面的部分是 SSH 的一種語法,表示登錄后在遠(yuǎn)程服務(wù)器執(zhí)行的命令,即新建一個(gè)遠(yuǎn)程 Git 數(shù)據(jù)目錄example.git。

這條命令運(yùn)行完,就有了一個(gè) Git 服務(wù)器了,然后就可以推送代碼了。

$ cd example
$ git remote add myServer git@192.168.1.25:example.git
$ git push myServer master

上面的命令先進(jìn)入本地倉庫,為遠(yuǎn)程服務(wù)器加一個(gè)別名,然后把代碼推送過去。

五、另一種操作方法

上面的例子使用git init --bare命令,在遠(yuǎn)程服務(wù)器新建 Git 數(shù)據(jù)目錄。其實(shí),Git 數(shù)據(jù)目錄就是一個(gè)普通目錄,直接從本地計(jì)算機(jī)拷貝過去也可以。

$ scp -r example/.git git@192.168.1.25:/home/git/example.git

上面的命令使用scp工具將本地的 example倉庫里面的.git子目錄,拷貝到遠(yuǎn)程服務(wù)器的目錄example.git。這樣也能建立 Git 服務(wù)器。

到此這篇關(guān)于如何自己搭建簡單的Git服務(wù)器的文章就介紹到這了,更多相關(guān)搭建Git服務(wù)器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

疏附县| 额敏县| 黄大仙区| 自贡市| 涡阳县| 青海省| 岳普湖县| 黄石市| 宿迁市| 钟祥市| 平凉市| 吉林省| 吉水县| 邮箱| 图们市| 大同市| 东山县| 蒙阴县| 襄樊市| 德兴市| 潜江市| 金乡县| 金堂县| 岳阳市| 孝义市| 延长县| 旬阳县| 凤冈县| 顺平县| 肃北| 浙江省| 玉树县| 沾化县| 吴江市| 新龙县| 宜兴市| 仲巴县| 鄱阳县| 商南县| 乳源| 盐亭县|