建立git伺服器上用的裸倉庫方法

2021-06-16 21:39:46 字數 1811 閱讀 9860

方法一:

1.初始化乙個空的裸倉庫

$ cd /home/repo

$ mkdir teamwork.git

$ cd teamwork.git

$ git init - -bare      注:這是在伺服器上執行的,是為了初始化乙個根級的git倉庫

2.空倉庫是不能clone的,所以需要某乙個有寫許可權的人初始 化乙個版本

usr@pc1:~/work$ mkdir teamwork-ori

usr@pc1:~/work$ cd teamwork-ori/

usr@pc1:~/work/teamwork-ori$ git init           注:這是在使用者端的pc上執行的,為的是初始化乙個本地的版本庫

usr@pc1:~/work/teamwork-ori$ echo 「/*add something*/」 > hello

usr@pc1:~/work/teamwork-ori$ git add .

usr@pc1:~/work/teamwork-ori$ git commit -am 「initial version」

usr@pc1:~/work/teamwork-ori$ git remote add origin git@:teamwork.git

usr@pc1:~/work/teamwork-ori$ git push origin master

到此為止teamwork已經有了乙個版本了,team的其他成員只要先clone一下 teamwork倉庫,就可以任意玩了。

方法二:

1.把現有倉庫匯出為裸倉庫 — 即乙個不包含當前工作目錄的倉庫。

做法直截了當,轉殖時用--bare選項即可。裸倉庫的目錄名一般以.git結尾,像這樣:

$ git clone --bare my_project my_project.git

initialized empty git repository in /opt/projects/my_project.git/

現在my_project.git目錄中已經有了乙份 git 目錄資料的副本。

2.把裸倉庫移到伺服器上

有了裸倉庫的副本後,剩下的就是把它放到伺服器上並設定相關協議。假設乙個網域名稱為 git.example.com 的伺服器已經架設好,並可以通過 ssh 訪問,我們打算把所有 git 倉庫儲存在/opt/git 目錄下。只要把裸倉庫複製過去:

$ scp -r my_project.git [email protected]:/opt/git

現在,所有對該伺服器有 ssh 訪問許可權,並可讀取 /opt/git 目錄的使用者都可以用下面的命令轉殖該專案:

$ git clone [email protected]:/opt/git/my_project.git

如果某個 ssh 使用者對 /opt/git/my_project.git 目錄有寫許可權,那他就有推送許可權。如果到該專案目錄中執行 git init 命令,並加上 --shared 選項,那麼 git 會自動修改該倉庫目錄的組許可權為可寫(譯註:實際上 --shared 可以指定其他行為,只是預設為將組許可權改為可寫並執行 g+sx,所以最後會得到 rws。)。

$ ssh [email protected]

$ cd /opt/git/my_project.git

$ git init --bare --shared

由此可見,根據現有的 git 倉庫建立乙個裸倉庫,然後把它放上你和同事都有 ssh 訪問權的伺服器是多麼容易。現在已經可以開始在同一專案上密切合作了。

配置伺服器上的git倉庫

遠端登入伺服器並安裝git ssh遠端連線指令 ssh 主機名 伺服器ip位址正確輸入密碼後進入命令列介面.新建 選擇倉庫所在位置 然後新建乙個資料夾用作git倉庫 資料夾名最好跟準備推到伺服器的倉庫資料夾名相同 並切換到此資料夾下,接著將用git init bare命令在此資料夾下建立乙個git ...

在伺服器上配置Git倉庫

第一步,安裝git sudoapt getinstall git 第二步,建立乙個git使用者,用來執行git服務 sudoadduser git 第三步,初始化git倉庫 因為我打算把git倉庫就放在 home git下面,所以就直接用useradd建立git使用者 組 sudo git init...

linux伺服器上搭建git倉庫

建立git使用者,使用者組預設為git useradd git 修改git賬戶的密碼 passwd gityum install y git 切換至 資料夾 cd home git code 例項化倉庫 git init bare search.git 修改許可權 chown r git git s...