建立一個git伺服器
文章目錄
- 背景:測試環境
- 問一:需要區分Intel架構,和arm架構嗎
- 問二:需要區分32位和64位嗎 ?
- 建立git伺服器步驟
- 第一步,安裝git:sudo apt-get install git
- 第二步:sudo adduser git (linux命令新增一個git使用者)
- 第三步,建立證書登入:
- 第四步:選定目錄
- 第五步,禁用shell登入:(可以跳過)
- 第六步,克隆遠端倉庫:
- 注:
- 補充:命令的理解
- 轉載自:[廖雪峰的最後git學習](https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000)
背景:測試環境
使用虛擬機器,安裝Ubuntu,使用git伺服器的建立
下載:
- 虛擬機器版本
- Ubuntu的版本選擇
開啟Ubuntu的下載**介面網站**
分類:概覽,雲端,IOT,伺服器,桌面版本,可選的其他版本,Ubuntu 自我配置好的風味版本。
桌面版(包含圖形介面,各種桌面工具),伺服器版本(包含伺服器能使用到的各種工具)
無論桌面還是伺服器都包含兩個版本,LTS長期穩定版本,和最新版本(但未必穩定)
區別:總結一下
1. 桌面版為個人電腦所配置,而伺服器版適用於web伺服器。
2. 桌面版預裝了GUI,而伺服器版沒有。
3. 桌面版已經安裝了許多伺服器版沒有的軟體。
4. 桌面版缺少Apache、MySQL和PHP,而這些在伺服器版中是標準配置。
問一:需要區分Intel架構,和arm架構嗎
不需要
問二:需要區分32位和64位嗎 ?
需要
- i386就是32位的ubuntu
- amd64就是64位的ubuntu
不要以為i386只能用於intel的cpu,amd64只能用於amd的cpu
關鍵字:i386指的是32位,amd64只得64位。
不區分架構。
1.ubuntu下載的檔案中後面的live是什麼意思?
live指的是livecd,可以直接執行的光碟系統。
live cd:自生系統,是事先儲存於某種可移動儲存裝置上,可不特定於計算機硬體(non-hardware-specific)而啟動的作業系統(通常亦包括一些其他軟體),不需安裝至計算機的本地外部儲存器 - 硬碟。採用的介質包括CD-ROM(Live CD),DVD(Live DVD),快閃記憶體盤(Live USB)甚至是軟盤等。
目的:使用者可以方便的先對系統進行一次體驗,覺得好用,再進行硬碟安裝。
關鍵字:不需要安裝,直接使用
下載位置:ubuntu下載(線上下載很快821M大約)(沒有圖形介面)
安裝使用這裡跳過
建立git伺服器步驟
第一步,安裝git:sudo apt-get install git
sudo是linux系統管理指令,是允許系統管理員讓普通使用者執行一些或者全部的root命令的一個工具.
apt Linux下的一款安裝包管理工具,包含下面的apt-get
apt-get 主要用於自動從網際網路的軟體倉庫中搜索、安裝、升級、解除安裝軟體或作業系統。
第二步:sudo adduser git (linux命令新增一個git使用者)
第三步,建立證書登入:
收集所有需要登入的使用者的公鑰,就是他們自己的id_rsa.pub檔案,把所有公鑰匯入到/home/git/.ssh/authorized_keys檔案裡,一行一個。
這裡可以在安裝系統的時候自動將github 上的公鑰給伺服器,在這裡然後可以直接跳過
第四步:選定目錄
先選定一個目錄作為Git倉庫,假定是/srv/sample.git,在**/srv目錄下**輸入命令。
$ sudo git init --bare sample.git
Git就會建立一個裸倉庫,裸倉庫沒有工作區,因為伺服器上的Git倉庫純粹是為了共享,所以不讓使用者直接登入到伺服器上去改工作區,並且伺服器上的Git倉庫通常都以.git結尾。然後,把owner改為git:
$ sudo chown -R git:git sample.git (Linux命令)
第五步,禁用shell登入:(可以跳過)
出於安全考慮,第二步建立的git使用者不允許登入shell,這可以通過編輯/etc/passwd檔案完成。找到類似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash
改為:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
在本地計算機上操作
第六步,克隆遠端倉庫:
現在,可以通過git clone命令克隆遠端倉庫了,在各自的電腦上執行:
$ git clone [email protected]:/srv/sample.git
Cloning into 'sample'...
warning: You appear to have cloned an empty repository.
剩下的推送就簡單了。
注:
1.域名可以使用IP代替
2.檢視ip
使用ipconfig 命令檢視本機IP的地址的.
以上就是全過程
問題:如何使用ipconfig找出本機IP地址呢?
如圖 顯示的三個網址:
簡單瞭解即可,可以區分
本地計算機的問題
乙太網介面卡 本地連線:指有線網路連線
乙太網介面卡 bluetooth連線:藍芽網路連線
媒體已斷開:指當前沒有活動,未連線
兩個是vmware :一個是本地虛擬網絡卡,一個就虛擬機器網絡卡,虛擬機器與物理網路要建立網路橋接,必須要有兩個虛擬網絡卡
隧道介面卡:ipv4網路與ipv6過度的一種機制,實現ipv4與ipv6通訊
電腦的外網地址:ppp介面卡就是用於將你的電腦通過網線&電話線和運營商提供上網的伺服器連線起來,以此獲取運營商分配的IP地址的,所以它給的IP就是在這個運營商伺服器所提供的網路中區分你當前上網帳號(當前電腦)的唯一標識
內網地址:網絡卡是用於將你的電腦通過網線和你的交換機連線起來,所以它給的IP就是在你的交換機提供的網路中區分你的電腦的唯一標識。
無線網絡卡地址:
同理,我們還有一個無線網絡卡,如果此時再連入其他無線路由,那麼也會再多一個IP,也就是三個IP了。(但是電腦**優先連線有線,**所以在把網線拔了之前,這個ip不能用
補充:命令的理解
通過 SSH 克隆一個 Git 倉庫,你可以像下面這樣給出 ssh:// 的 URL:
$ git clone ssh://[email protected]:project.git
或者不指明某個協議 — 這時 Git 會預設使用 SSH :
$ git clone [email protected]:project.git
如果不指明使用者,Git 會預設使用當前登入的使用者名稱連線伺服器。