安装git
(以下命令如果报错,请尝试在前面加sudo)
- 我买的是阿里云的学生机,轻量级云服务器,用CentOS7系统,一般用yum install -y git 但是yum的仓库最高版本的git是1.8。x,目前我这个年代的版本是2.19.2,查看git最新的网址:https://github.com/git/git/releases,最好不要下载-rc版的
- 如果有安装git 移除命令———>
# yum remove git
- 安装依赖库
1 # yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel 2 # yum install gcc perl-ExtUtils-MakeMaker
4. 参照了网上的做法,我进入了/usr/local目录下新建git目录,
1
2
# mkdir git
# cd git
5. 下载最新的源代码包
1 # sudo wget https://github.com/git/git/archive/v2.19.2.tar.gz
6. 解压到当前目录
1
# tar -xzvf v2.19.2.tar.gz
7.安装git,编译时间较长,可以慢慢等待
1
2
3
# cd git-2.19.2
# make prefix=/usr/local/git all
# make prefix=/usr/local/git install
8. 添加到环境变量
1 #vim /etc/profile
在将光标移动到末尾,按a编辑 添加 : export PATH="/usr/local/git/bin:$PATH" 这行在最末尾,这个git路径按照 自己的一开始建的路径填。
填完之后,用命令 source /etc/profile 配置立即生效
9. 将git设置为默认路径,克隆时避免报错
1
2 | # ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack
# ln -s /usr/local/git/bin/git-receive-pack /usr/bin/git-receive-pack |
至此,CentOS 就安装上了最新版本的 Git。
正式创建git服务器
- 创建用户和用户名:
# groupadd git # useradd git -g git # passwd git #参数是用户名
- 最好切换到git用户 不然后面新建的git仓库都要改权限。
# su - git
3. (可选) 出于安全执行 3 的步骤
禁止git用户登录:
修改
/etc/passwd
文件,修改# 找到这句: git:x:503:503::/home/git:/bin/bash # 改为: git:x:503:503::/home/git:/bin/git-shell
4. 创建证书登录(不需要sudo)
- # mkdir /home/git/.ssh
- # chmod 700 /home/git/.ssh
- # touch 700 /home/git/.ssh/authorized_keys
- # chmod 600 /home/git/.ssh/authorized_keys
5.
在Git服务器上首先需要将/etc/ssh/sshd_config中将RSA认证打开,
# sudo vi /etc/ssh/sshd_config 即:
1.RSAAuthentication yes
2.PubkeyAuthentication yes
3.AuthorizedKeysFile .ssh/authorized_keys
这里我们可以看到公钥存放在.ssh/authorized_keys文件中。
所以我们在/home/git下创建.ssh目录,然后创建authorized_keys文件,并将刚生成的公钥导入进去。
然后再次clone的时候,或者是之后push的时候,就不需要再输入密码了
如果是采用的
sudo
方式来创建git和相应的文件的,需要设置/home/git/.ssh/
的owner为git,否则还是每次要输入密码的。# owner改为git $ sudo chown -R git:git /home/git/.ssh/
6. 附:如何创建私钥:# 创建私钥,文件位于用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件 $ ssh-keygen -t rsa -C "youremail@example.com"
7.初始化git仓库
- # cd /srv
- # mkdir gitrepo
- # chown git:git gitrepo/
- # cd gitrepo
# 创建一个空的Git仓库,服务器上的Git仓库通常都以.git结尾- # git init --bare project.git
- # 将仓库所属用户改为git
- # chown -R git:git project.git
8. 克隆仓库
在开发机上,(跳过开发机的git安装),在空白文件夹下使用以下命令:
- # git clone git@10.123.123.123:/srv/gitrepo/project.git
参考博文:
https://blog.csdn.net/martinwangjun/article/details/78780885 搭建知识
https://my.oschina.net/u/2343829/blog/644663 验证和项目的推拉
https://blog.csdn.net/permanent_2008/article/details/73839315 搭建和解决问题的博客