安装 git

https://www.not.im/?p=597

 

 

  1. # 先從 devel/git 的 ports 中安裝 git
  2. # 同時間選取 gitweb 以提供網頁界面
  3. # 之後遇到的設定頁照原來的 OK OK 就可以
  4. cd /usr/ports/devel/git
  5. make install clean
  6. # 增加 git 的使用者,並指定 git 的家用目錄為 /home/git
  7. # 同時間使用 git-shell 作為 shell 指令, uid, gid 為 9418
  8. pw groupadd -n git -g 9418
  9. pw useradd -n git -u 9418 -g git -c git -d /home/git -s /usr/local/libexec/git-core/git-shell -h -
  10. # 新增 repo (倉庫 work),並更改屬性
  11. chown git:git /home/git
  12. chmod 755 /home/git
  13. mkdir /home/git/work/
  14. chmod 775 /home/git/work/
  15. chown git:git /home/git/work/
  16. # 設定除了 commit 外還可以使用額外指令的用戶
  17. # 如果使用者只需要 commit,就可以不加進來
  18. vi /etc/group
  19. git:*:9418:zeuxis,neo
  20. # 設定 SSH 認證金鑰,因為 git 要用到這東西
  21. # 每個使用者的 SSH Key 也要加進 authorized_keys.
  22. # 每個 key 為一行
  23. mkdir /home/git/.ssh/
  24. chmod 700 /home/git/.ssh/
  25. touch /home/git/.ssh/authorized_keys
  26. chmod 600 /home/git/.ssh/authorized_keys
  27. chown -R git:git /home/git/.ssh/
  28. # 生成指定用戶的 SSH Key
  29. # 在安裝情況下是使用 ssh-keygen -d 生成 dsa
  30. # 另還可用 ssh-keygen -t rsa 生成 rsa
  31. # 生成時 Enter passphrase 無視按下 enter 即可
  32. su username
  33. ssh-keygen -d
  34. su root
  35. cat /home/username/.ssh/id_dsa.pub > /home/git/.ssh/anthorized_keys
  36. # 接著設定 git 的 repo
  37. mkdir /home/git/work/test.git
  38. cd /home/git/work/test.git && git init --bare --shared
  39. # 接著進行一個簡單的測試
  40. mkdir /tmp/test && cd /tmp/test && git init
  41. echo "This is a test" > index.html
  42. git add
  43. git commit -m 'added index.html'
  44. # 之後 commit 到遠端的 repo
  45. git remote add origin [email protected]:work/test.git
  46. git push origin master
  47. # 之後再設定 gitweb
  48. mkdir /home/git/public_html
  49. chmod 755 /home/git/public_html
  50. chown git:git /home/git/public_html
  51. cp /usr/local/share/examples/git/gitweb/git* /home/git/public_html
  52. # 再設定 apache
  53. <VirtualHost *:80>
  54.   ServerAdmin [email protected]
  55.   DocumentRoot "/home/git/public_html"
  56.   ServerName git.example.com
  57.   <Directory "/home/git/public_html">
  58.     Options ExecCGI
  59.     Order allow,deny
  60.     Allow from all
  61.     DirectoryIndex gitweb.cgi
  62.     AddHandler cgi-script .cgi
  63.   </Directory>
  64. </VirtualHost>
  65. # 之後再編輯 gitweb.cgi
  66. our $projectroot = "/home/git/work";
  67. our $home_link_str = "work";
  68. our $site_name = "git.example.com"
  69. our $projects_list_description_width = 40; # 調整 description 空間
  70. # 修改 test.git 的描述
  71. echo "test.git" > /home/git/work/test.git/description
  72. # 修改 test.git 的 owner
  73. vim /home/git/work/test.git/config
  74. # 在其後面加入
  75. [gitweb]
  76. owner = zeuxis
  77. url = git://git.example.com/work/test.git
  78. url = [email protected]:work/test.git
  79. # 最後就是設定 Git protocol
  80. # 在 /etc/rc.conf 最後加入這段
  81. git_daemon_enable="YES"
  82. git_daemon_directory="/home/git"
  83. git_daemon_flags="--syslog --base-path=/git --export-all"
  84. # 之後啟動 Git Daemon
  85. /usr/local/etc/rc.d/git_daemon start
  86. # 如果以上面這句子會出現停在 starting 的字眼可以改為以下句式
  87. # 送出後接兩下 Enter 結束即可
  88. /usr/local/etc/rc.d/git_daemon start &
  89. # 檢查是否在執行
  90. ps -eaf | grep -v grep | grep git
  91. # 如有東西就可以再測試可否使用了
  92. cd /tmp/test
  93. rm -Rf *
  94. git clone git://git.example.com/work/test.git

你可能感兴趣的:(安装 git)