1. 程式人生 > >建立一個git伺服器

建立一個git伺服器

文章目錄

背景:測試環境

使用虛擬機器,安裝Ubuntu,使用git伺服器的建立
下載:

  • 虛擬機器版本
  • Ubuntu的版本選擇
    開啟Ubuntu的下載**介面網站**
    在這裡插入圖片描述
    分類:概覽,雲端,IOT,伺服器,桌面版本,可選的其他版本,Ubuntu 自我配置好的風味版本。
    桌面版(包含圖形介面,各種桌面工具),伺服器版本(包含伺服器能使用到的各種工具)
    無論桌面還是伺服器都包含兩個版本,LTS長期穩定版本,和最新版本(但未必穩定)

區別:總結一下

1. 桌面版為個人電腦所配置,而伺服器版適用於web伺服器。
2. 桌面版預裝了GUI,而伺服器版沒有。
3. 桌面版已經安裝了許多伺服器版沒有的軟體。
4. 桌面版缺少Apache、MySQL和PHP,而這些在伺服器版中是標準配置。

問一:需要區分Intel架構,和arm架構嗎

不需要

問二:需要區分32位和64位嗎 ?

需要

  1. i386就是32位的ubuntu
  2. 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 會預設使用當前登入的使用者名稱連線伺服器。

轉載自:廖雪峰的最後git學習