Linux 使用 Gitolite 架設 Git Server

單純使用 SSH 架設可見此篇: Linux 架設使用 SSH 共享存取的 Git Server

想要控管 User / Project 權限, 而且還想要控管 branch / tag 等讀寫權限, 則需要靠 Gitolite 等套件來協助.

  • gitolite - SSH-based gatekeeper for git repositories

此篇主要寫的是 Gitolite 架設, 若之前已經有依照上述文章架設共享存取的 Git Server, 而 Gitolite 也想用 git 的帳號來管理, 則需做下述動作先改回原始設定.

註: 此文會用 gitolite 的帳號來管理, 不會用 git 帳號, 所以不需要做下述更改的動作

  1. vim /etc/passwd

    git:x:1000:1000::/home/git:/usr/bin/git-shell
    改回
    git:x:1000:1000::/home/git:/bin/sh

  2. mv /home/git/.ssh/authorized_keys /home/git/.ssh/authorized_keys.bak

閱讀全文〈Linux 使用 Gitolite 架設 Git Server〉

Linux 使用 Gitosis 架設 Git Server

單純使用 SSH 架設可見此篇: Linux 架設使用 SSH 共享存取的 Git Server

想要控管 User / Project 權限的話(限制某些 User 只能存取某些 Project), 則需要靠 Gitosis 或 Gitolite 等套件來協助.

  • gitosis - git repository hosting application
  • gitolite - SSH-based gatekeeper for git repositories

此篇主要寫的是 Gitosis 架設, 若之前已經有依照上述文章架設共享存取的 Git Server, 而 Gitosis 也想用 git 的帳號來管理, 則需做下述動作先改回原始設定.

註: 此文會用 gitosis 的帳號來管理, 不會用 git 帳號, 所以不需要做下述更改的動作

  1. vim /etc/passwd

    git:x:1000:1000::/home/git:/usr/bin/git-shell
    改回
    git:x:1000:1000::/home/git:/bin/sh

  2. mv /home/git/.ssh/authorized_keys /home/git/.ssh/authorized_keys.bak

閱讀全文〈Linux 使用 Gitosis 架設 Git Server〉

Linux 架設使用 SSH 共享存取的 Git Server

Git 架設使用 HTTP 就是走 Web server 的權限, 走 SSH 就是各個帳號的權限. (Git 的 object 目錄裡面會有權限問題)

若多人共用的話, 要走 SSH 有下述幾種方法:

  1. 建立新帳號(git), 由 git 帳號來統一管理(commit / push) 等
  2. 使用 gitosis 來管理(gitosis 可以設定到 "誰" 可以存取此專案).
  3. 使用 gitolite 來管理(gitolite 可以設定 "誰" 可以存取此專案, 而且, 可以設定只能存取哪個 branch 等路徑)

在此篇是採用 建立一個 git 帳號來統一管理的方法.

閱讀全文〈Linux 架設使用 SSH 共享存取的 Git Server〉