yum安装:(查看yum的git仓库信息命令:# yum info git 卸载 yum方式安装的git:# yum remove git)
此方式安装版本较老 (参考资料)
下载安装包安装:
此方式安装版本较新 (参考资料)
1 依赖库安装
2 在 /usr/local/ 目录下新建git文件夹(mkdir git)并进入git目录下载较新的安装包
# wget https://github.com/git/git/archive/v2.9.2.tar.gz
3 解压
# tar -xzvf v2.9.2.tar.gz
4 安装
5 添加环境变量
# vim /etc/profile ( 提示没有vim命令安装即可:# yum install vim)
文件最后添加 export PATH="/usr/local/git/bin:$PATH"
# source /etc/profile 设置环境变量立即生效
6 将git设置为默认路径
# 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
7 创建git用户
# groupadd git
# useradd git
# passwd git
8 git服务器打开RSA认证
/etc/ssh/sshd_config文件中的
AuthorizedKeysFile .ssh/authorized_keys (去掉前面#)
PubkeyAuthentication yes (去掉前面#)
/etc/ssh/ssh_config文件中的
RSAAuthentication yes (去掉前面#)
可以看出公钥存放在.ssh/authorized_keys文件中
我们在/home/git/目录下新建.ssh目录,在.ssh目录下创建authorized_keys文件(命令touch authorized_keys)
将window下生成的公钥导入
【
生成公钥:windows下,任何地方右键鼠标,选择Git Bash Here,输入ssh-keygen命令生成公钥(一般在C:\Users\你的电脑 名称\.ssh\id_rsa.pub,生成公钥会有提示),用WinSCP或SecureCRT或SecureFx等传输文件到新建 authorized_keys同级目录下,用putty或xshell等命令行工具切换到新建的authorized_keys的同级目录下输入命令:cat id_rsa.pub >> authorized_keys 即可导入公钥
】
9 初始化git仓库(Linux(CentOS)下)
进入到 /home/git/ 目录下输入
# git init --bare testrepo.git
# chown -R git:git testrepo.git
初始化一个git空仓库,修改所属组的所属用户
10 本地克隆仓库(Win下)
在一个空文件夹下,右键选择 Git Bash Here, 输入命令
git clone git@服务器ip:/home/git/testrepo.git
克隆了一个空仓库到本地
只有一个testrepo文件夹
进入到本地的testrepo文件夹下,输入命令 touch test.txt创建一个新文件,你也可以vi/vim编辑文件内容
然后
git add . #添加到缓存区
git commit -m 'create a new file' #提交到本地
git push #提交到服务器
可以在另外新建空文件夹在clone一次验证是否push成功。
11.禁止Shell登录
出于安全考虑,git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。
找到类似下面的一行:
git:x:502:502::/home/git:/bin/bash
改为
git:x:502:502::/home/git:/usr/local/git/bin/git-shell
这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出
遇到的错误error:src refspec master does not match any
不能提交空目录,在目录下新建文件在提交参考
参考
http://blog.csdn.net/permanent_2008/article/details/73839315
http://blog.csdn.net/martinwangjun/article/details/78780885
https://www.jianshu.com/p/8d26730386f3