Git 服務器搭建與客戶端安裝

大綱:

一、前言

二、搭建Git服務器

  • yum安裝Git服務器

  • 創建一個git用戶,用來運行git服務

  • 創建客戶端登錄證書

  • 初始化Git倉庫

  • 禁用shell登錄

  • 克隆遠程倉庫

三、安裝客戶端

  • Windows 客戶端

  • Linux 客戶端

四、總結

注,測試機 CentOS 5.5 x86_64,Git 服務器版本:git version 1.8.2.1,客戶端版本:git version 1.9.2.msysgit.0。所有軟件請到這裏下載:http://msysgit.github.io/。

Fedora通過Http Proxy下載Git http://www.linuxidc.com/Linux/2009-12/23170.htm

Ubuntu Server上安裝Git http://www.linuxidc.com/Linux/2009-06/20421.htm

服務器端Git倉庫的創建(Ubuntu) http://www.linuxidc.com/Linux/2011-02/32542.htm

Linux下Git簡單使用教程(以Android爲例) http://www.linuxidc.com/Linux/2010-11/29883.htm

Git權威指南 PDF高清中文版 http://www.linuxidc.com/Linux/2013-10/91053.htm

一、前言

在上一篇文章中我們主要講解Git是什麼(http://www.linuxidc.com/Linux/2014-05/101829.htm),Git的基本原理,講解一些有關Git的基礎知識,讓我們簡單的瞭解一下Git,當然我們還有很多問題沒有搞清楚,嘿嘿!不管理怎麼樣,在我們弄清楚這些問題之前,我們得有臺Git服務器是吧,嘿嘿!好了,下面我們就來一起搭建一臺Git服務器。

二、搭建Git服務器

1.yum安裝Git服務器

[root@git ~]# cd src/

[root@git src]# wget http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

[root@git src]# rpm -ivh epel-release-5-4.noarch.rpm

Preparing...                ########################################### [100%]

    package epel-release-5-4.noarch is already installed

[root@git ~]# yum list

[root@git ~]# yum install -y git


2.創建一個git用戶,用來運行git服務

[root@git ~]# adduser git


3.創建客戶端登錄證書

注,收集所有需要登錄的用戶的公鑰,就是他們自己生成的id_rsa.pub文件,把所有公鑰複製到/home/git/.ssh/authorized_keys文件裏,一行一個。嘿嘿!

1).客戶端生成id_rsa.pub文件的命令

$ ssh-keygen -t rsa

$ cat  .ssh/id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NwUHeNNi+PC6KlrcJrXXDmKxRMmgHIPp79sgX6zqfdSlmNj7rBPQeyEKS9Wg8yI6jd8aG2jsUx99Vjti2VK2vEXKkRHxwID7ri69gE71RfDtv6ekafnzLo14J8hAp0spMk+N3wEAQRYDmcYo1wmnm/jMBedGrHj4NJQ1vYy1hVtJasGMSzjcMrlz9qvaluWnQ5tQjKFQVVwKsRRRzs8qTvzVhLJt4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+eN3wx2aeztdevxu9plggtG05SMmd8GNVzXrN1IaxXSvz0UwjQ2kygu7aCqO8AZWH49rouw== leo@LEO-PC


注,一路回車即可,將生成的id_rsa.pub,複製給管理員,幫你在服務器上增加一下,下次你用git時就不需要輸入用戶名和密碼了。

2).查看服務器上authorized_keys文件

[root@git ~]# cat /home/git/.ssh/authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwMU4FKB6NRc3XSoIunWsdvVVuSoncbVb5Al6lB3ciswBVd++YmJFhqwkITNGccrO5sycROs9+Fbjgd6oBSzNuaBtCIbwNNsEyM/henTl2euI3XsnJQ/ITr6c/q0P3WoGl4E2QFQ2kZqs+1eDC0CgHcBrqvFv1Jr414sVYK9lfZwIF+jDdtaBOrSJuq1Agx9pGUFUEB4tQfkXxsWm/MvOmKAVvduKDE1eenUEL9zzyeELPcSXLe3NOoTjZhkX6EEXxQR1ZiZRFywLpfM4qopZ10to2KIUyVtzw6hx6V3cg7kn40lYVW0EAMATw9dVldwcRUI+kJzJSKUTKDVSwY3/+Q== root@CHENMINGQIAN

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsmmJuR+KhRSpdSirCiL30RA8WbfgicY1z7itWVnKHJW6hTuJFhzruY59FilVjJR1hbQBluP9JnK3XPSK9PSg+bwiJ2iQRa39rXck35r+trVOLyNbPyfKVRfOemD8YuykMlyr5JeW8gZjsHEuLnJ8//RiCiYzd3RT/SSUQ4yawDoIIWkz3eUSL09xoCRZFBsAp+S/LD3vx2MN+FNOHwvqcE+yK3oRNIqjWwLoKE0e5TRnqNgrPQ95PJYB3XPUulzaeMwsWPZs7jIUMl/5yEqSgAkioa8SVMOsikYJG/erv99NNVgFmpCBIiWqKEGkNrIpYzLLHDSYQ4g5Gbci/RZ54Q== Administrator@WIN2003X323

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NwUHeNNi+PC6KlrcJrXXDmKxRMmgHIPp79sgX6zqfdSlmNj7rBPQeyEKS9Wg8yI6jd8aG2jsUx99Vjti2VK2vEXKkRHxwID7ri69gE71RfDtv6ekafnzLo14J8hAp0spMk+N3wEAQRYDmcYo1wmnm/jMBedGrHj4NJQ1vYy1hVtJasGMSzjcMrlz9qvaluWnQ5tQjKFQVVwKsRRRzs8qTvzVhLJt4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+eN3wx2aeztdevxu9plggtG05SMmd8GNVzXrN1IaxXSvz0UwjQ2kygu7aCqO8AZWH49rouw== leo@LEO-PC


說明:我這裏有三個用戶登錄服務器,所以我這裏就有三個ssh-rsa,大家可以看一下。

4.初始化Git倉庫

注,先選定一個目錄作爲Git倉庫,這裏是/data/git/project.git。

[root@git ~]# cd /data/git/

[root@git git]# git init --bare project.git

[root@git project.git]# ls

branches  config  description  HEAD  hooks  index  info  objects  refs


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

[root@git git]# chown -R git.git project.git

[root@git git]# ls -l

總計 4

drwxr-xr-x 7 git git 4096 05-09 13:50 project.git


5.禁用shell登錄

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

[root@git ~]# cat /etc/passwd | grep git

git:x:1001:1001:git version control:/home/git:/bin/bash

改爲:

[root@git ~]# vim /etc/passwd

git:x:1001:1001:git version control:/home/git:/usr/bin/git-shell

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

6.克隆遠程倉庫

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

注,$ git clone [email protected]:/data/git/project.git,其中git用戶名,git.jjhh.com服務器,/data/git/prgject.git是倉庫路徑。好了,到這裏服務器的搭建到這裏就完成了

轉載自:http://www.linuxidc.com/Linux/2014-05/101830.htm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章