欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

GitHub
Gitlab
Bitbucket
Codeberg
sourcehut
Gitee

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

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

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

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

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

Gitlab CE
Gitea
Gogs
Onedev

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

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

三、Git 倉(cāng)庫(kù)的 SSH 傳輸

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

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

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

$ git init --bare [倉(cāng)庫(kù)名].git

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

(1)git init:初始化一個(gè) Git 倉(cāng)庫(kù)。

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

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

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

四、操作演示

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

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

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

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

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

$ 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 倉(cāng)庫(kù)名為example

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

上面命令中,ssh git@192.168.1.25表示以git用戶的身份,登錄到遠(yuǎn)程服務(wù)器。后面的部分是 SSH 的一種語(yǔ)法,表示登錄后在遠(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)入本地倉(cāng)庫(kù),為遠(yuǎn)程服務(wù)器加一個(gè)別名,然后把代碼推送過(guò)去。

五、另一種操作方法

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

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

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

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

相關(guān)文章

  • Memcached簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Memcached簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了Memcached簡(jiǎn)介,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • KB967723造成MySQL頻繁無(wú)法連接

    KB967723造成MySQL頻繁無(wú)法連接

    最近一個(gè)客戶服務(wù)器的mysql頻繁提示連接不上,修改了MYSQL的最大連接數(shù)還是這樣,于是開(kāi)始問(wèn)萬(wàn)能的搜索引擎大人!終于在微軟找到了解決方案!
    2009-11-11
  • HTTP與HTTPS對(duì)訪問(wèn)速度、性能等的影響

    HTTP與HTTPS對(duì)訪問(wèn)速度、性能等的影響

    HTTPS 在保護(hù)用戶隱私,防止流量劫持方面發(fā)揮著非常關(guān)鍵的作用,但與此同時(shí),HTTPS 也會(huì)降低用戶訪問(wèn)速度,增加網(wǎng)站服務(wù)器的計(jì)算資源消耗,這里就為大家簡(jiǎn)單介紹一下,需要的朋友可以參考下
    2018-02-02
  • Chat2DB?Web版?服務(wù)器端安裝部署啟動(dòng)步驟

    Chat2DB?Web版?服務(wù)器端安裝部署啟動(dòng)步驟

    Chat2DB是款數(shù)據(jù)庫(kù)連接工具,主要就是使用JDBC做數(shù)據(jù)庫(kù)連接,外加多對(duì)接了幾個(gè)聊天AI網(wǎng)站,把數(shù)據(jù)庫(kù)和AI做了個(gè)集成,比使用傳統(tǒng)工具Navicat,再另外去AI查方便一點(diǎn),這篇文章主要介紹了Chat2DB?Web版?服務(wù)器端安裝部署啟動(dòng)流程,需要的朋友可以參考下
    2023-11-11
  • SVN服務(wù)器搭建圖文教程

    SVN服務(wù)器搭建圖文教程

    這篇文章主要為大家詳細(xì)介紹了SVN服務(wù)器搭建的圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • jenkins插件pipeline集成持續(xù)交付管道全面介紹

    jenkins插件pipeline集成持續(xù)交付管道全面介紹

    這篇文章主要就jenkins插件pipeline集成持續(xù)交付管道相關(guān)內(nèi)容做一個(gè)全面介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • CyberPanel配置教程,新手安裝?CyberPanel?終極指南

    CyberPanel配置教程,新手安裝?CyberPanel?終極指南

    CyberPanel?是第一個(gè)LiteSpeed為web服務(wù)器的Linux面板,使用LiteSpeed?Cache簡(jiǎn)單優(yōu)化之后?Gtmetrix?和?Google?PageSpeed?Insights?的評(píng)分幾乎都是A,這個(gè)結(jié)果讓人十分滿意
    2023-12-12
  • 網(wǎng)站控制臺(tái)directadmin中文手冊(cè) Linux下虛擬主機(jī)管理

    網(wǎng)站控制臺(tái)directadmin中文手冊(cè) Linux下虛擬主機(jī)管理

    特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn),本站所提供的攝影照片,插畫(huà),設(shè)計(jì)作品,如需使用,請(qǐng)與原作者聯(lián)系
    2009-11-11
  • WampServer下使用多端口訪問(wèn)的技巧

    WampServer下使用多端口訪問(wèn)的技巧

    由于在學(xué)習(xí)中要用到跨域請(qǐng)求,所以不得不在wamp集成環(huán)境下添加多站點(diǎn)服務(wù)。本文主要給大家介紹wampserver下使用多端口訪問(wèn),需要的朋友可以參考下
    2015-10-10
  • 一文讓你知道服務(wù)器是什么

    一文讓你知道服務(wù)器是什么

    服務(wù)器指的是網(wǎng)絡(luò)環(huán)境下能為其它客戶機(jī)(如PC機(jī)、智能手機(jī)、ATM等終端甚至是火車(chē)系統(tǒng)等大型設(shè)備)提供某種服務(wù)的專(zhuān)用計(jì)算機(jī),它比普通計(jì)算機(jī)運(yùn)行更快、負(fù)載更高、價(jià)格更貴,服務(wù)器具有高速的CPU運(yùn)算能力、長(zhǎng)時(shí)間的可靠運(yùn)行、強(qiáng)大的I/O外部數(shù)據(jù)吞吐能力以及更好的擴(kuò)展性
    2023-08-08

最新評(píng)論