首页 / GIT / Git 服务器搭建与客户端安装
Git 服务器搭建与客户端安装
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Git 服务器搭建与客户端安装,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含7409字,纯文字阅读大概需要11分钟。
内容图文
大纲:
一、前言
二、搭建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/。
一、前言
在上一篇博客中我们主要讲解Git是什么,Git的基本原理,讲解一些有关Git的基础知识,让我们简单的了解一下Git,当然我们还有很多问题没有搞清楚,嘿嘿!不管理怎么样,在我们弄清楚这些问题之前,我们得有台Git服务器是吧,嘿嘿!好了,下面我们就来一起搭建一台Git服务器。
二、搭建Git服务器
1.yum安装Git服务器
1
|
[root@git
~]
#
yum
install -y git
|
2.创建一个git用户,用来运行git服务
1
|
[root@git
~]
#
adduser git
|
3.创建客户端登录证书
注,收集所有需要登录的用户的公钥,就是他们自己生成的id_rsa.pub文件,把所有公钥复制到/home/git/.ssh/authorized_keys文件里,一行一个。嘿嘿!
1).客户端生成id_rsa.pub文件的命令
1
2
3
|
$
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文件
1
2
3
4
|
[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。
1
2
3
4
|
[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:
1
2
3
4
|
[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文件完成。找到类似下面的一行:
1
2
|
[root@git
~]
#
cat /etc/passwd | grep git
git:x:1001:1001:git
version control:
/home/git
:
/bin/bash
|
改为:
1
2
|
[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 git@git.jjhh.com:/data/git/project.git,其中git用户名,git.jjhh.com服务器,/data/git/prgject.git是仓库路径。好了,到这里服务器的搭建到这里就完成了,下面我们来安装一下客户端。
三、安装客户端
1.Windows 客户端
1).下载客户端
注,大家到这里下载http://msysgit.github.io/。下面简单演示一下安装过程,比较简单:
好了,到这里就安装完成了,安装好以后会在桌面上有个图标,你双击打开即可。如下图:
2.Linux 客户端
注,Linux客户端安装就比较简单了,直接用yum安装一下就好!
1
|
[root@
test ~] #
yum install -y git |
到这里git就安装完成了,下面我们查看一下版本:
1
2
|
[root@
test ~] #
git --version git
version 1.8.2.
|
下面我们生成公钥并复制到服务器上:
1
2
3
4
5
6
7
8
9
10
11
12
|
[root@
test ~] #
ssh-keygen -t rsa Generating
public
/private rsa
key pair. Enter
file in which to
save the key ( /root/ . ssh /id_rsa ): Created
directory
‘/root/.ssh‘
.
Enter
passphrase (empty
for no
passphrase): Enter
same passphrase again:
Your
identification has been saved
in /root/ . ssh /id_rsa . Your
public key has been saved
in /root/ . ssh /id_rsa .pub. The
key fingerprint is:
48:3c:22:76:02:f1:a2:e5:27:22:cb:4f:a7:a0:98:9d
root@
test
.com
[root@
test ~] #
cat .ssh/id_rsa.pub ssh
-rsa
AAAAB3NzaC1yc2EAAAABIwAAAQEAwrmgNAca77BKzXl6BP11fdaclAoWfW+x4kPDZMPj1zFoML9JfOAS7DGY9quLMitwwfg5+U7zP
/egPmAhSKCECubmodzMucnRSkJGgKCt1SlctRNDRN3OIvrecAtdZfDcBaWKLjaVzGPmhweLhr6HzfqeZU09Ccis4yK3RMwip2f
+K1ZZVIOKUmL4AVFl9dqtxnQ4HlW61PUxvM
/ug2M68Z0jQk5DVG8w5
+dvGqX1qr5YABD1NX5Jz6aUbVVx7yyoORENxu6SK83GI
/V7eOkrvBMDh9nDdwvDhPhuhBDSfE
+Xi92hPJPKdNroF1vx8HMvpHME20MmjSwavPrz+B18MQ==
root@
test
.com
|
下面我们复制id_rsa.pub里的公钥到服务器的authorized_keys文件中。
1
2
3
4
5
6
7
|
[root@git
~]
#
su git
bash
-3.2$
cd
bash
-3.2$
vim .
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
AAAAB3NzaC1yc2EAAAABIwAAAQEAwrmgNAca77BKzXl6BP11fdaclAoWfW+x4kPDZMPj1zFoML9JfOAS7DGY9quLMitwwfg5+U7zP
/egPmAhSKCECubmodzMucnRSkJGgKCt1SlctRNDRN3OIvrecAtdZfDcBaWKLjaVzGPmhweLhr6HzfqeZU09Ccis4yK3RMwip2f
+K1ZZVIOKUmL4AVFl9dqtxnQ4HlW61PUxvM
/ug2M68Z0jQk5DVG8w5
+dvGqX1qr5YABD1NX5Jz6aUbVVx7yyoORENxu6SK83GI
/V7eOkrvBMDh9nDdwvDhPhuhBDSfE
+Xi92hPJPKdNroF1vx8HMvpHME20MmjSwavPrz+B18MQ==
root@
test
.com
|
下面我们clone一个仓库到本地的目录中。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
[root@
test ~] #
cd /data/dev [root@
test dev] #
git clone git@git.jjhh.com:/data/git/project.git Cloning
into
‘project‘
...
The
authenticity of host
‘git.jjhh.com
(114.112.173.150)‘ can‘t
be established. RSA
key fingerprint is ca:ec:a2:7e:e6:89:ca:19:d3:93:7f:4b:c3:c0:c7:fd.
Are
you sure you want to
continue connecting
( yes /no )? yes Warning:
Permanently added
‘git.jjhh.com,114.112.173.150‘ (RSA)
to the list of known hosts. remote:
Counting objects: 50,
done
.
remote:
Compressing objects: 100% (42
/42
),
done
.
remote:
Total 50 (delta 21), reused 0 (delta 0)
Receiving
objects: 100% (50
/50
),
4.02 KiB,
done
.
Resolving
deltas: 100% (21
/21
),
done
.
[root@
test dev] #
ls project
[root@
test dev] #
cd project/ [root@
test project] #
ls index.html
|
好了,到这里我们的git客户端到这里就全部安装完成了。
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/qq_20480611/article/details/48091153
内容总结
以上是互联网集市为您收集整理的Git 服务器搭建与客户端安装全部内容,希望文章能够帮你解决Git 服务器搭建与客户端安装所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。