git建立遠端倉庫以及hooks的配置

2021-07-24 04:16:36 字數 3254 閱讀 4231

因為專案需求,自己就嘗試在阿里雲伺服器上建立了專案的**倉庫,建立過程中遇到了一些問題,經過一番折騰,終於把這個**倉庫在遠端伺服器上建立成功了,可以正常進行**版本維護了.以下是自己在建立過程中的一些心得和總結.(建議先在遠端伺服器上新增個git使用者組,並在git使用者組裡新增個git使用者,後面的操作都是使用git這個使用者身份操作的)

1)根據ssh協議遠端登入伺服器,並切換到git使用者目錄下,在該位置建立個專案的空倉庫.相關命令如下:

ssh root@伺服器位址

cd /home/git

git init --bare xiangmu.git

2)進入剛建立的xiangmu.git資料夾裡的hooks資料夾中,裡面有post-receive和post-update這兩個檔案(如果沒有的話需要自己新建)

cd hooks

ls -al

如下是hooks目錄下的檔案:
drwxr-xr-x 2 git git 4096 10月 25 11:16 .

drwxr-xr-x 7 git git 4096 10月 25 10:01 ..

-rwxr-xr-x 1 git git 896 6月 28 09:52 commit-msg.sample

-rwxr-xr-x 1 git git 589 10月 25 11:11 post-receive

-rwxr-xr-x 1 git git 231 10月 25 11:16 post-update

-rwxr-xr-x 1 git git 189 6月 28 09:52 post-update.sample

-rwxr-xr-x 1 git git 1704 6月 28 09:52 pre-commit.sample

-rwxr-xr-x 1 git git 1239 6月 28 09:52 prepare-commit-msg.sample

-rw-r--r-- 1 git git 1348 6月 28 09:52 pre-push.sample

-rwxr-xr-x 1 git git 4951 6月 28 09:52 pre-rebase.sample

-rwxr-xr-x 1 git git 3611 6月 28 09:52 update.sample

下面是配置好的post-receive裡的檔案內容:

#!/bin/sh

## an example hook script for the "post-receive" event.

## the "post-receive" script is run after receive-pack has accepted a pack

# and the repository has been updated. it is passed arguments in through

# stdin in the form

# # for example:

# aa453216d1b3e49e7f6f98441fa56946ddcd6a20 68f7abf4e6f922807889f52bc043ecd31b79f814 refs/heads/master

## see contrib/hooks/ for a sample, or uncomment the next line and

# rename the file to "post-receive".

#. /usr/share/git-core/contrib/hooks/post-receive-email

cd /wwwroot/www/專案資料夾

env -i git pull

下面是配置好的post-update裡的檔案內容:

#!/bin/sh

## an example hook script for the "post-receive" event.

## the "post-receive" script is run after receive-pack has accepted a pack

# and the repository has been updated. it is passed arguments in through

# stdin in the form

# # for example:

# aa453216d1b3e49e7f6f98441fa56946ddcd6a20 68f7abf4e6f922807889f52bc043ecd31b79f814 refs/heads/master

## see contrib/hooks/ for a sample, or uncomment the next line and

# rename the file to "post-receive".

#. /usr/share/git-core/contrib/hooks/post-receive-email

cd /wwwroot/www/專案資料夾

env -i git pull

3)在遠端伺服器上切換到伺服器的web目錄下,自己這個伺服器的web目錄是/wwwroot/www/,故切換到這個位置,然後新建個資料夾,這裡的資料夾名要和hooks裡提到的上述兩個檔案中的專案資料夾名保持一樣.

4)在/wwwroot/www/專案資料夾下將git目錄下剛建立的空倉庫的內容clone過來,命令如下:

git clone /home/git/xiangmu.git
5)在本地clone遠端伺服器上的空倉庫,命令如下:

git clone 遠端倉庫位址
6)修改本地倉庫中的.gitignore檔案內容(git不用push,pull的那一部分檔案),參考如下:

runtime/

*.swp

*.swo

public/uploads

gitauto.sh

7)在本地倉庫新增**等檔案,並提交到遠端倉庫,命令如下:

git add .

git commit -m 's'

git push

這個時候git目錄下的**會得到更新,同時由於鉤子的作用,web目錄下的**也得到了同步更新.如果web目錄下的**沒有更新,可能是版本產生衝突了怎麼的,可以在web目錄下的專案資料夾下git pull一下,這樣**就可以正常維護了.

建立git遠端倉庫

在已有的git庫中搭建新庫,並且將本地的git倉庫,上傳到遠端伺服器的git庫中,從而開始乙個新的專案 首先,在本地新建資料夾abc,進入到abc裡面,然後git init。這樣就在本地初始化了乙個git專案abc。然後,登入到遠端的git伺服器上,到gitrepo目錄下面,mkdir abc.gi...

git 建立遠端倉庫

建立ssh key ssh keygen t rsa c youremail example.com 登入github settings ssh and gpg keys add ssh key 關聯遠端庫 git remote add origin 把本地庫的所有內容推送到遠端庫 git push...

建立GIT遠端倉庫

git是分布式版本控制系統,同乙個git倉庫,可以分布到不同的機器上。想玩遠端倉庫你肯定會想,至少需要兩台機器才能玩遠端庫是不是,但是我只有一台電腦,怎麼玩?其實一台電腦上也是可以轉殖多個版本庫的,只要不在同乙個目錄下。不過不會有人這麼傻的在一台電腦上搞幾個遠端庫玩,因為一台電腦上搞幾個遠端庫完全沒...