您好,欢迎访问三七文档
一、前言二、搭建Git服务器yum安装Git服务器创建一个git用户,用来运行git服务创建客户端登录证书初始化Git仓库禁用shell登录克隆远程仓库三、安装客户端Windows客户端Linux客户端四、总结注,测试机CentOS5.5x86_64,Git服务器版本:gitversion1.8.2.1,客户端版本:gitversion1.9.2.msysgit.0。所有软件请到这里下载:。一、前言在上一篇博客中我们主要讲解Git是什么,Git的基本原理,讲解一些有关Git的基础知识,让我们简单的了解一下Git,当然我们还有很多问题没有搞清楚,嘿嘿!不管理怎么样,在我们弄清楚这些问题之前,我们得有台Git服务器是吧,嘿嘿!好了,下面我们就来一起搭建一台Git服务器。二、搭建Git服务器1.yum安装Git服务器[root@git~]#cdsrc/[root@gitsrc]#wget[root@gitsrc]#rpm-ivhepel-release-5-4.noarch.rpmPreparing...###########################################[100%]packageepel-release-5-4.noarchisalreadyinstalled[root@git~]#yumlist[root@git~]#yuminstall-ygit2.创建一个git用户,用来运行git服务[root@git~]#addusergit3.创建客户端登录证书注,收集所有需要登录的用户的公钥,就是他们自己生成的id_rsa.pub文件,把所有公钥复制到/home/git/.ssh/authorized_keys文件里,一行一个。嘿嘿!1).客户端生成id_rsa.pub文件的命令$ssgenh-key-trsa$cat.ssh/id_rsa.pubssh-rsaAAAAB3NzaC1yc2EAAAABIwAAAQEA6NwUHeNNi+PC6KlrcJrXXDmKxRMmgHIPp79sgX6zqfdSlmNj7rBPQeyEKS9Wg8yI6jd8aG2jsUx99Vjti2VK2vEXKkRHxwID7ri69gE71RfDtv6ekafnzLo14J8hAp0spMk+N3wEAQRYDmcYo1wmnm/jMBedGrHj4NJQ1vYy1hVtJasGMSzjcMrlz9qvaluWnQ5tQjKFQVVwKsRRRzs8qTvzVhLJt4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+eN3wx2aeztdevxu9plggtG05SMmd8GNVzXrN1IaxXSvz0UwjQ2kygu7aCqO8AZWH49rouw==leo@LEO-PC注,一路回车即可,将生成的id_rsa.pub,复制给管理员,帮你在服务器上增加一下,下次你用git时就不需要输入用户名和密码了。2).查看服务器上authorized_keys文件[root@git~]#cat/home/git/.ssh/authorized_keysssh-rsaAAAAB3NzaC1yc2EAAAABIwAAAQEAwMU4FKB6NRc3XSoIunWsdvVVuSoncbVb5Al6lB3ciswBVd++YmJFhqwkITNGccrO5sycROs9+Fbjgd6oBSzNuaBtCIbwNNsEyM/henTl2euI3XsnJQ/ITr6c/q0P3WoGl4E2QFQ2kZqs+1eDC0CgHcBrqvFv1Jr414sVYK9lfZwIF+jDdtaBOrSJuq1Agx9pGUFUEB4tQfkXxsWm/MvOmKAVvduKDE1eenUEL9zzyeELPcSXLe3NOoTjZhkX6EEXxQR1ZiZRFywLpfM4qopZ10to2KIUyVtzw6hx6V3cg7kn40lYVW0EAMATw9dVldwcRUI+kJzJSKUTKDVSwY3/+Q==root@CHENMINGQIANssh-rsaAAAAB3NzaC1yc2EAAAABIwAAAQEAsmmJuR+KhRSpdSirCiL30RA8WbfgicY1z7itWVnKHJW6hTuJFhzruY59FilVjJR1hbQBluP9JnK3XPSK9PSg+bwiJ2iQRa39rXck35r+trVOLyNbPyfKVRfOemD8YuykMlyr5JeW8gZjsHEuLnJ8//RiCiYzd3RT/SSUQ4yawDoIIWkz3eUSL09xoCRZFBsAp+S/LD3vx2MN+FNOHwvqcE+yK3oRNIqjWwLoKE0e5TRnqNgrPQ95PJYB3XPUulzaeMwsWPZs7jIUMl/5yEqSgAkioa8SVMOsikYJG/erv99NNVgFmpCBIiWqKEGkNrIpYzLLHDSYQ4g5Gbci/RZ54Q==Administrator@WIN2003X323ssh-rsaAAAAB3NzaC1yc2EAAAABIwAAAQEA6NwUHeNNi+PC6KlrcJrXXDmKxRMmgHIPp79sgX6zqfdSlmNj7rBPQeyEKS9Wg8yI6jd8aG2jsUx99Vjti2VK2vEXKkRHxwID7ri69gE71RfDtv6ekafnzLo14J8hAp0spMk+N3wEAQRYDmcYo1wmnm/jMBedGrHj4NJQ1vYy1hVtJasGMSzjcMrlz9qvaluWnQ5tQjKFQVVwKsRRRzs8qTvzVhLJt4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+eN3wx2aeztdevxu9plggtG05SMmd8GNVzXrN1IaxXSvz0UwjQ2kygu7aCqO8AZWH49rouw==leo@LEO-PC说明:我这里有三个用户登录服务器,所以我这里就有三个ssh-rsa,大家可以看一下。4.初始化Git仓库注,先选定一个目录作为Git仓库,这里是/data/git/project.git。[root@git~]#cd/data/git/[root@gitgit]#gitinit--bareproject.git[root@gitproject.git]#lsbranchesconfigdescriptionHEADhooksindexinfoobjectsrefs执行以上命令Git命令,会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git:[root@gitgit]#chown-Rgit.gitproject.git[root@gitgit]#ls-l总计4drwxr-xr-x7gitgit409605-0913:50project.git5.禁用shell登录注,出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:[root@git~]#cat/etc/passwd|grepgitgit:x:1001:1001:gitversioncontrol:/home/git:/bin/bash改为:[root@git~]#vim/etc/passwdgit:x:1001:1001:gitversioncontrol:/home/git:/usr/bin/git-shell这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。6.克隆远程仓库注,现在可以通过gitclone命令克隆远程仓库了,在各自的电脑上运行:注,$gitclonegit@git.jjhh.com:/data/git/project.git,其中git用户名,git.jjhh.com服务器,/data/git/prgject.git是仓库路径。好了,到这里服务器的搭建到这里就完成了,下面我们来安装一下客户端。三、安装客户端1.Windows客户端1).下载客户端注,大家到这里下载。下面简单演示一下安装过程,比较简单:好了,到这里就安装完成了,安装好以后会在桌面上有个图标,你双击打开即可。如下图:2.Linux客户端注,Linux客户端安装就比较简单了,直接用yum安装一下就好!1[root@test~]#yuminstall-ygit到这里git就安装完成了,下面我们查看一下版本:12[root@test~]#git--versiongitversion1.8.2.下面我们生成公钥并复制到服务器上:[root@test~]#ssh-keygen-trsaGeneratingpublic/privatersakeypair.Enterfileinwhichtosavethekey(/root/.ssh/id_rsa):Createddirectory'/root/.ssh'.Enterpassphrase(emptyfornopassphrase):Entersamepassphraseagain:Youridentificationhasbeensavedin/root/.ssh/id_rsa.Yourpublickeyhasbeensavedin/root/.ssh/id_rsa.pub.Thekeyfingerprintis:48:3c:22:76:02:f1:a2:e5:27:22:cb:4f:a7:a0:98:9droot@test.com[root@test~]#cat.ssh/id_rsa.pubssh-rsaAAAAB3NzaC1yc2EAAAABIwAAAQEAwrmgNAca77BKzXl6BP11fdaclAoWfW+x4kPDZMPj1zFoML9JfOAS7DGY9quLMitwwfg5+U7zP/egPmAhSKCECubmodzMucnRSkJGgKCt1SlctRNDRN3OIvrecAtdZfDcBaWKLjaVzGPmhweLhr6HzfqeZU09Ccis4yK3RMwip2f+K1ZZVIOKUmL4AVFl9dqtxnQ4HlW61PUxvM/ug2M68Z0jQk5DVG8w5+dvGqX1qr5YABD1NX5Jz6aUbVVx7yyoORENxu6SK83GI/V7eOkrvBMDh9nDdwvDhPhuhBDSfE+Xi92hPJPKdNroF1vx8HMvpHME20MmjSwavPrz+B18MQ==root@test.com下面我们复制id_rsa.pub里的公钥到服务器的authorized_keys文件中。[root@git~]#sugitbash-3.2$cdbash-3.2$vim.ssh/authorized_keysssh-rsaAAAAB3NzaC1yc2EAAAABIwAAAQEAwMU4FKB6NRc3XSoIunWsdvVVuSoncbVb5Al6lB3ciswBVd++YmJFhqwkITNGccrO5sycROs9+Fbjgd6oBSzNuaBtCIbwNNsEyM/henTl2euI3XsnJQ/ITr6c/q0P3WoGl4E2QFQ2kZqs+1eDC0CgHcBrqvFv1Jr414sVYK9lfZwIF+jDdtaBOrSJuq1Agx9pGUFUEB4tQfkXxsWm/
本文标题:git服务器
链接地址:https://www.777doc.com/doc-2874197 .html