Git
詳細學習可以到:Git 官方教程
- Git的安裝
關於 Git 版本的選擇
Git的升級策略大多是安全更新,少有重大新特性更新,升級可能會引入系統失效陷阱,由此浪費的時間精力完全不必要。
- 依賴安裝
[root@centos7 ~] yum install git
[root@centos7 ~] git --version
Git 版本:git version 1.8.3.1
- 編譯安裝
Git 的依賴 curl-devel expat-devel gettext-devel openssl-devel zlib-devel
進行下載、解壓、配置、編譯、安裝
[root@centos7 ~] yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
[root@centos7 ~] wget https://codeload.github.com/git/git/tar.gz/v2.20.0-rc0
[root@centos7 ~] tar -xvf v2.20.0-rc0
[root@centos7 ~] make configure
[root@centos7 ~] ./configure
[root@centos7 ~] make && make install
此處使用 ./configure 直接使用默認配置,實際上和 yum 沒什麼區別了
[root@centos7 ~] git --version
Git 版本:git version 2.20.0-rc0
- 創建 Git 用戶
爲了訪問的便捷,我們使用 git 用戶的身份來創建代碼倉庫,實際上使用任何用戶都是可以的,區別在於在 git clone 的時候,需將 git@server 改成別的用戶名
[root@centos7 ~] adduser git
- 使用 authorized_keys 給用戶授權
- 禁用 shell 登錄
因爲git用戶是專門用來上傳代碼的,所以禁用git用戶的登錄權限
將 /sbin/nologin 作爲 git 用戶的登錄 shell,即禁止 git用戶 shell 登錄
[root@centos7 ~] usermod -s /sbin/nologin git
- 初始化 Git 倉庫
前面我們創建了 git 用戶,那麼 git 用戶的 home 目錄變可以用來當倉庫路徑
這裏的 git 倉庫便是遠程倉庫了,用戶們使用 push 命令將更新推送到遠程倉庫,使用 --bare 選項運行 git init 來建立一個裸倉庫
倉庫後綴都是 .git
創建遠程倉庫目錄並初始化了空的倉庫
[root@centos7 ~] cd /home/git/
[root@centos7 ~] mkdir sea.git
[root@centos7 ~] git init --bare sea.git