<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
程式設計師的程式碼倉庫,總是需要託管一份在伺服器,這樣才保險,也方便使用。今天就來談談 Git 伺服器。
一般情況下,都不建議自己搭建 Git 伺服器,而要使用現成的服務,也就是程式碼託管服務。它們都是免費的。
GitHub Gitlab Bitbucket Codeberg sourcehut Gitee
其中,除了最後一家 Gitee 是國內的服務,其他都是國外的服務。
這些外部服務,就不多做介紹了。本文的重點不是它們,而是想談如果不得不自己搭建 Git 伺服器,那該怎麼做。
自己搭建 Git 伺服器的原因,無非就是不方便存取外網,不願意程式碼放在別人的伺服器,或者有一些客製化化的需求。
這時,你可以選擇開源的 Git 伺服器軟體。
Gitlab CE Gitea Gogs Onedev
這些軟體裡面,Gogs 的安裝是最簡單的,但是功能相對比較弱。功能越強的軟體,安裝越複雜。
如果你只是想遠端儲存一份程式碼,並不在意有沒有 Web 介面,或者其他功能,那麼根本不用安裝上面這些軟體,一行命令就夠了。
熟悉 Git 的同學可能知道,Git 預設支援兩種傳輸協定:SSH 和 HTTP/HTTPS。
伺服器一般都自帶 SSH,這意味著,我們可以什麼都不安裝,只通過 SSH 就把倉庫推到遠端伺服器。
所以,一條命令就夠了。我們只要在遠端伺服器上,建立同名的 Git 倉庫,伺服器就搭建好了。
$ git init --bare [倉庫名].git
上面命令中,各個部分的含義如下。
(1)git init
:初始化一個 Git 倉庫。
(2)--bare
:表示新倉庫不需要工作目錄,只建立 Git 資料目錄。
(3)[倉庫名].git
:指定倉庫名,比如倉庫名是example
,那麼就要建立一個叫做example.git
的 Git 資料目錄。
執行這條命令以後,一個最簡易的 Git 伺服器就誕生了。後面,我們就可以通過 SSH 連線,把原生程式碼推播到這個遠端 Git 倉庫了。
下面,我演示一下整個操作過程。
操作分成兩部分,先在遠端伺服器操作,然後在本地計算機操作。
下面的操作都在遠端伺服器完成,假設你已經通過 SSH 登入上去了。不熟悉 SSH 的同學可以看參考這篇《SSH 入門》。
登入遠端伺服器的目的,主要是新建一個專門的使用者,所有的 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
使用者設定密碼,命令如下。
$ sudo passwd git
後面的操作都在本地計算機完成。
假定上一小節的遠端伺服器的 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
使用者的身份,登入到遠端伺服器。後面的部分是 SSH 的一種語法,表示登入後在遠端伺服器執行的命令,即新建一個遠端 Git 資料目錄example.git
。
這條命令執行完,就有了一個 Git 伺服器了,然後就可以推播程式碼了。
$ cd example $ git remote add myServer git@192.168.1.25:example.git $ git push myServer master
上面的命令先進入本地倉庫,為遠端伺服器加一個別名,然後把程式碼推播過去。
上面的例子使用git init --bare
命令,在遠端伺服器新建 Git 資料目錄。其實,Git 資料目錄就是一個普通目錄,直接從本地計算機拷貝過去也可以。
$ scp -r example/.git git@192.168.1.25:/home/git/example.git
上面的命令使用scp工具將原生的 example
倉庫裡面的.git
子目錄,拷貝到遠端伺服器的目錄example.git
。這樣也能建立 Git 伺服器。
到此這篇關於如何自己搭建簡單的Git伺服器的文章就介紹到這了,更多相關搭建Git伺服器內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45