【free style】華為云之搭建git服務器

      網友投稿 687 2025-03-31

      在遠程倉庫一節中,我們講了遠程倉庫實際上和本地倉庫沒啥不同,純粹為了7x24小時開機并交換大家的修改。

      GitHub就是一個免費托管開源代碼的遠程倉庫。但是對于某些視源代碼如生命的商業公司來說,既不想公開源代碼,又舍不得給GitHub交保護費,那就只能自己搭建一臺Git服務器作為私有倉庫使用。

      搭建Git服務器需要準備一臺運行Linux的機器,強烈推薦用Ubuntu或Debian,這樣,通過幾條簡單的apt命令就可以完成安裝。

      假設你已經有sudo權限的用戶賬號,下面,正式開始安裝。

      第一步,安裝git:

      $?sudo?apt-get?install?git

      第二步,創建一個git用戶,用來運行git服務:

      $?sudo?adduser?git

      第三步,創建證書登錄:

      收集所有需要登錄的用戶的公鑰,就是他們自己的id_rsa.pub文件,把所有公鑰導入到/home/git/.ssh/authorized_keys文件里,一行一個。

      第四步,初始化Git倉庫:

      先選定一個目錄作為Git倉庫,假定是/srv/sample.git,在/srv目錄下輸入命令:

      【free style】華為云之搭建git服務器

      $?sudo?git?init?--bare?sample.git

      Git就會創建一個裸倉庫,裸倉庫沒有工作區,因為服務器上的Git倉庫純粹是為了共享,所以不讓用戶直接登錄到服務器上去改工作區,并且服務器上的Git倉庫通常都以.git結尾。然后,把owner改為git:

      $?sudo?chown?-R?git:git?sample.git

      第五步,禁用shell登錄:

      出于安全考慮,第二步創建的git用戶不允許登錄shell,這可以通過編輯/etc/passwd文件完成。找到類似下面的一行:

      git:x:1001:1001:,,,:/home/git:/bin/bash

      改為:

      git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

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

      第六步,克隆遠程倉庫:

      現在,可以通過git clone命令克隆遠程倉庫了,在各自的電腦上運行:

      $?git?clone?git@server:/srv/sample.gitCloning?into?'sample'...warning:?You?appear?to?have?cloned?an?empty?repository.

      剩下的推送就簡單了。

      管理公鑰

      如果團隊很小,把每個人的公鑰收集起來放到服務器的/home/git/.ssh/authorized_keys文件里就是可行的。如果團隊有幾百號人,就沒法這么玩了,這時,可以用Gitosis來管理公鑰。

      這里我們不介紹怎么玩Gitosis了,幾百號人的團隊基本都在500強了,相信找個高水平的Linux管理員問題不大。

      管理權限

      有很多不但視源代碼如生命,而且視員工為竊賊的公司,會在版本控制系統里設置一套完善的權限控制,每個人是否有讀寫權限會精確到每個分支甚至每個目錄下。因為Git是為Linux源代碼托管而開發的,所以Git也繼承了開源社區的精神,不支持權限控制。不過,因為Git支持鉤子(hook),所以,可以在服務器端編寫一系列腳本來控制提交等操作,達到權限控制的目的。Gitolite就是這個工具。

      這里我們也不介紹Gitolite了,不要把有限的生命浪費到權限斗爭中。

      小結

      搭建Git服務器非常簡單,通常10分鐘即可完成;

      要方便管理公鑰,用Gitosis;

      要像SVN那樣變態地控制權限,用Gitolite。

      華為云

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Excel中隨心所欲顯示日期的格式附日期的自定義格式代碼
      下一篇:四級項目管理
      相關文章
      亚洲av无码天堂一区二区三区| 亚洲色大情网站www| 亚洲AV成人一区二区三区观看| 亚洲视频一区二区三区四区| 亚洲精品91在线| 亚洲精品在线不卡| 亚洲精品韩国美女在线| 亚洲精品无码久久毛片波多野吉衣| 亚洲久本草在线中文字幕| 亚洲国产精品线在线观看| 久久亚洲精品成人| 久久亚洲中文字幕精品有坂深雪| 亚洲国产人成在线观看69网站| 亚洲好看的理论片电影| 亚洲国产精品人久久| 亚洲高清日韩精品第一区| 亚洲欧洲综合在线| 亚洲午夜电影一区二区三区| 亚洲一卡2卡4卡5卡6卡残暴在线| 亚洲av永久综合在线观看尤物| 456亚洲人成在线播放网站| 亚洲日产乱码一二三区别| 亚洲av永久无码精品网址| 偷自拍亚洲视频在线观看| 亚洲精品无码专区2| 伊人久久大香线蕉亚洲| 亚洲国产精品一区二区成人片国内| 亚洲AV无码一区二区乱孑伦AS| 亚洲伦理一区二区| 亚洲国产精品人久久电影| 亚洲一区二区三区写真 | 激情小说亚洲图片| 亚洲国产精品嫩草影院久久 | 午夜亚洲国产精品福利| 亚洲人成网站18禁止一区| 亚洲日韩精品A∨片无码| 亚洲一区二区三区高清| 亚洲一级毛片在线观| 亚洲成AV人影片在线观看| 久久久久亚洲精品中文字幕| 亚洲国产精品成人精品无码区在线|