這裏顯示兩個版本的差異處。
Both sides previous revision 前次修改 下次修改 | 前次修改 下次修改 Both sides next revision | ||
git_nas [2014/09/12 10:40] elvis [在Synology NAS上安裝GIT] |
git_nas [2014/09/18 06:22] elvis [安裝gitolite] |
||
---|---|---|---|
行 4: | 行 4: | ||
===== 在NAS上建立git使用者 ===== | ===== 在NAS上建立git使用者 ===== | ||
---- | ---- | ||
- | admin在NAS介面中新增一名叫git的使用者,禁止所有權限的存取。然後用ssh以root登入NAS,更改/ | + | 這一步驟是為了配合之後要安裝的gitolite管理系統使用。以git這個帳號作為gitolite預設的管理及ssl驗證帳號。 |
+ | |||
+ | 用admin登入NAS的網頁介面,在NAS介面中新增一名叫git的使用者,禁止所有權限的存取。然後用ssh以root登入NAS,更改/ | ||
| | ||
vim /etc/passwd | vim /etc/passwd | ||
行 15: | 行 17: | ||
===== 安裝gitolite ===== | ===== 安裝gitolite ===== | ||
---- | ---- | ||
- | gitolite是一個利用ssh_key管理可登入git的程式 | + | gitolite是一個利用ssh_key管理誰有權限存取git server中個別repo的程式。將gitolite裝在git這個使用者裡面之後,該使用者就會喪失傳統ssh的登入能力。取而代之的是,所有git clone都會使用git這個使用者的ssh進行登入並clone,並且會比對連線近來電腦的ssh key跟gitolite中public key是否match。 |
\\ | \\ | ||
===== 新增新的gitolite pubkey (相當於使用者) ===== | ===== 新增新的gitolite pubkey (相當於使用者) ===== | ||
---- | ---- | ||
- | 首先你必須有一個已經可以使用gitolite的使用者,如上面安裝gitolite時新增的第一個pubkey。在那之後,以該pubkey所在之電腦進行gitolite的clone | + | 首先你必須有一個已經可以使用gitolite的使用者,如上面安裝gitolite時新增的第一個pubkey。在那之後,以該pubkey所在之電腦進行gitolite-admin這個repo的clone |
git clone git@caslab.ee.ncku.edu.tw: | git clone git@caslab.ee.ncku.edu.tw: | ||
| | ||
- | 然後把新的pubkey想辦法放在該資料夾下面一個稱為keypair的資料夾中,確保檔案權限跟檔案擁有者改完之後,以git add、git commit、git push方式上傳即可完成。 | + | 然後把新的pubkey想辦法放在該資料夾下面一個稱為keypair的資料夾中,確保檔案權限跟檔案擁有者改完。接著進入conf這個資料夾修改gitolite.conf這個檔案,以剛剛新的pubkey中的檔案名稱作為使用者代號,加入到該使用者可以存取的repo後面,存檔後將剛剛新增或改過的所有檔案以git add、git commit、git push方式上傳即可完成。 |