如何建立你自己的Git伺服器?

2021-08-27 16:54:51 字數 2467 閱讀 7676

repogroup:*:10005:marry,john,violet
其中,repogroup是准許接入這個倉庫的組的名字。10005是乙個獨一無二的分組識別數字,marry,john,violet則是獲准接入這個倉庫的使用者。

決定git倉庫的路徑。它既可以放在你的home路徑下(e.g. /home/yourname/gitroot),也可以放在乙個專用的路徑下(e.g. /var/gitroot).

配置許可權,讓git使用者可以訪問這個目錄

chmod g+rx /path-to/gitroot

chown :grouprepo /path-to/gitroot

建立新的git倉庫,叫做newrepo

cd /path-to/gitroot

git init --bare newrepo.git

建立路徑認證,以允許使用者組訪問,同時有針對性的設定git

cd newrepo.git

chown -r :grouprepo .

git config core.sharedrepository group

find . -type d -print0 | xargs -0 chmod 2770

find . -type f -print0 | xargs -0 chmod g=u

設定提交(commit)的email通知(commit是一條命令),這樣當有新的修改提交到倉庫的時候,開發者們將會收到一封關於修改內容一覽的電子郵件。

echo 'one-line project description' >description

git config --local hooks.mailinglist [email protected],[email protected],...

git config --local hooks.emailprefix '[di-pr] '

git config --local hooks.showrev "git show -c %s; echo"

git config --local hooks.emailmaxlines 100

通過設定乙個稱為鉤子(hook)的東東,來建立這些email通知。

cd hooks

cp post-receive.sample post-receive

chmod +x post-receive

從post-receive的指令碼中移除掉最後一行注釋的#字型大小,最後語句應該是這樣的

./path-to-hooks/post-receive-email

在你的庫中先放入乙個檔案(比如readme)。為了避免其他使用者在第一次提交時遇到奇怪的錯誤資訊時感到困惑,這是有必要的。

cd to-your-personal-working-directory

git clone myhost.example.com:/path-to/gitroot/newrepo.git

echo "short project description" >readme.txt

git add readme.txt

git commit -a -m "add readme file"

git push origin master # 第一次僅僅需要t"origin master" 這個引數

為倉庫的其他使用者建立賬戶。依據你系統的不同,你可以通過useradd 或者adduser來實現。

設定使用者可以通過公/私鑰配對來訪問。這包括以下幾步:

1)已經有公鑰的使用者,只需要把公鑰發給你就好。

2)沒有公鑰的使用者,必須用ssh-keygen命令來生成乙個,然後把.ssh/id_rsa.pub發給你就可以了。

3)之後你必須在他們對應的賬戶下面建立這種公/私鑰配對。複製他的公鑰,然後順序執行下面的命令。

sudo su - username

mkdir -p .ssh

cat >>.ssh/authorized_keys <<\eof

paste-key-as-one-line

eof

exit

改變使用者的賬戶讓他們使用受限的shell。如果你想讓你新增進來的使用者僅僅使用git,而不是unix的所有東西,那麼就設定他們的賬戶,讓他們只能使用git。git提供了這種專為這種需求設計的受限shell。它通常被安裝在 /usr/libexec/git-core/git-shell or /usr/local/libexec/git-core/git-shell。因此,對所有你想限制許可權的使用者,你可以執行以下命令。

sudo chsh -s /usr/libexec/git-core/git-shell username

告訴你的使用者,用下面的語句來轉殖倉庫到本地。

git clone myhost.example.com:/path-to/gitroot/newrepo.git

到了這裡,恭喜你,你成功了!

如何執行你自己的ngrokd伺服器

如何執行你自己的ngrokd伺服器 執行自己的ngrok的伺服器是很容易!下面的說明將幫助你走好人生路!1.獲取ssl證書 ngrok通過tls提供安全通道,所以你需要乙個ssl證書。假設你要建立的 example.com的隧道,買乙個萬用字元ssl證書 example.com的。請注意,如果你不需...

Git 建立Git伺服器

如果與其它人合作進行開發工作 例如在公司中 那就需要乙個共享的git倉庫,開發工程師們都可以訪問,從這個共享倉庫中推送和拉取資料,這個倉庫就稱之為 git伺服器 建立git伺服器是比較簡單的,測試環境使用的是兩台centos7,ip分別為192.168.107.128 測試伺服器 192.168.1...

建立Git伺服器

先安裝git yum install y git 建立乙個使用者,用來執行git服務 adduser username 例如新增乙個git使用者adduser git 初始化git倉庫。進入要建立倉庫的資料夾,使用命令 git init bare 倉庫名 例如,建立乙個名為rope.git的倉庫 一...