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

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

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

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

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

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

GitHub
Gitlab
Bitbucket
Codeberg
sourcehut
Gitee

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

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

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

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

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

Gitlab CE
Gitea
Gogs
Onedev

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

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

三、Git 倉庫的 SSH 傳輸

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

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

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

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

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

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

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

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

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

四、操作演示

下面,我演示一下整個操作過程。

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

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

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

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

$ 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)新建一個用戶,用戶名為git。

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

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

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

$ sudo passwd git

4.2 本機計算機操作

后面的操作都在本地計算機完成。

假定上一小節(jié)的遠程服務(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用戶的身份,登錄到遠程服務(wù)器。后面的部分是 SSH 的一種語法,表示登錄后在遠程服務(wù)器執(zhí)行的命令,即新建一個遠程 Git 數(shù)據(jù)目錄example.git。

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

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

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

五、另一種操作方法

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

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

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

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

相關(guān)文章

最新評論

阿拉尔市| 资阳市| 宁强县| 保德县| 连云港市| 塔河县| 郸城县| 怀化市| 诏安县| 定远县| 尉犁县| 安西县| 攀枝花市| 永兴县| 乌海市| 荔波县| 新密市| 寻甸| 平利县| 淳化县| 霍邱县| 临漳县| 剑阁县| 建德市| 红河县| 集贤县| 虞城县| 哈密市| 娄烦县| 翁源县| 图木舒克市| 无棣县| 长海县| 广水市| 伊吾县| 偏关县| 海林市| 光泽县| 东安县| 沙湾县| 鄂温|