搭建Git遠端倉庫

2021-07-11 06:49:14 字數 1962 閱讀 8407

遠端倉庫通常只是乙個 裸倉庫(bare repository), 即乙個沒有當前工作目錄的倉庫。因為該倉庫只是乙個合作媒介,所以不需要從硬碟上取出最新版本的快照;倉庫裡存放的僅僅是 git 的資料。簡單地說,裸倉庫就是你工作目錄中.git 子目錄內的內容。

yum install -y git
[root@localhost data]# git init --bare project.git

initialized empty git repository in /data/project.git/

建立乙個裸倉庫,裸倉庫沒有工作區,因為伺服器上的git倉庫純粹是為了共享,所以不讓使用者直接登入到伺服器上去改工作區,並且伺服器上的git倉庫通常都以.git結尾。

useradd git ; passwd git

chown -r git.git project.git

$ git clone [email protected]

:/data/project.git

$ ls

project/

$ ssh-keygen

-p''

$ ssh-copy

-id-i ~/

.ssh/id_rsa.pub [email protected]

.198

.132

sed -i

'/^git:/s#/bin/bash#/usr/bin/git-shell#' /etc/passwd

git使用者可以正常通過ssh使用git,但無法登入shell,因為我們為git使用者指定的git-shell每次一登入就自動退出

$ vim readme

$ git commit -am 'fix for the readme file'

$ git push origin master

到此已經搭建完成了

git 可以使用四種主要的協議來傳輸資料:本地傳輸,ssh 協議,git 協議和 http 協議

除了 http 協議外,其他所有協議都要求在伺服器端安裝並執行 git。

ssh 是同時支援讀寫操作的網路協議。另外兩個網路協議(http 和 git)通常都是唯讀的

$ git clone /opt/git/project.git

#或者這樣:

$ git clone file:///opt

/git/project.git

要新增乙個本地倉庫作為現有 git 專案的遠端倉庫,可以這樣做:

$ git remote add local_proj /opt/git/project.git
$ git clone ssh:

#或者不指明某個協議 — 這時 git 會預設使用 ssh :

$ git clone user@server:project.git

$ cd /var/www/htdocs/

$ git clone --bare /path/to/git_project gitproject.git

$ cd gitproject.git

$ mv hooks/post-update.sample hooks/post-update

$ chmod a+x hooks/post-update

這樣就可以了。git 附帶的 post-update 掛鉤會預設執行合適的命令(git update-server-info)來確保通過 http 的獲取和轉殖正常工作。這條命令在你用 ssh 向倉庫推送內容時執行;之後,其他人就可以用下面的命令來轉殖倉庫:

$ git clone

git 搭建遠端倉庫

1.使用git建立遠端倉庫時,一定要建立裸倉庫,即git init bare。否則,使用push向遠端倉庫提交更新時,會報錯。2.由於遠端倉庫一般都是裸倉庫,所以是看不到源 的。所以,要把 部署到生產環境,還需要接下來的操作 vim post receive bin sh git work tree...

Git遠端倉庫搭建

新建乙個git使用者 root whthomas home whthomas adduser git root whthomas home whthomas su git我們新建乙個資料夾 ssh,並在其目錄下新建乙個檔案authorized keys,它被用於存放其他使用者的公鑰 所有人的公鑰都要...

搭建git遠端倉庫

1.任意目錄下執行git init bare建立裸倉庫,建議目錄名稱以.git結尾 2.共享此目錄,windows下右鍵裸倉庫目錄,切換到共享面板設定完成即可獲取共享路徑 3.區域網內任意pc上執行git clone 共享路徑即可轉殖倉庫副本。注意執行前記得把windows下的共享路徑符 切換成li...