服务器环境:CentOS7.3
客户端环境:win7
一、安装客户端
下载地址:https://git-scm.com/downloads
安装一路下一步就ok
安装完后桌面右键点 Git Bash Here 进入命令框
git config --global user.name "你自己的name"
git config --global user.email "你自己的email"
设置你自己的名字跟email,之后我们生成私钥跟公约。
ssh-keygen -t RSA -C "你自己的email"
这时,我们在默认目录“~”下会有.ssh文件夹。进入之后会有id_rsa(私钥),id_rsa.pub(公钥)两个文件,这里我们一会需要的是公钥的文件来添加权限.
二、服务器环境搭建
centos7 自带的git1.8.3.1,我们用
yum install git -y
来安装git的环境。安装完后可以用
git --version
检测版本。
1、首先我们来创建git用户
[root@localhost home]# id git
id: git:无此用户
[root@localhost home]# useradd git
[root@localhost home]# passwd git
会提示输入密码,按要求输入即可
2、接下来我们创建空仓库
我们在/home/git/下创建一个project.git的文件夹,之后我们在这个文件夹下初始化创建仓库并给予相应权限。
mkdir project.git
cd project.git
git init --bare
cd ..
chown -R git:git project.git/
3、在服务器端开RSA认证
服务器安装SSH(安装yum install sshd 启动systemctl start sshd.service 默认启动systemctl enable sshd.service)后,进入 /etc/ssh 目录,编辑 sshd_config修改配置
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
找到并开启这三行,如果没有自己写上去。
之后重启ssh
systemctl restart sshd.service
这里我们所知的是.ssh/authorized_keys这个是公钥存储的地方,是在/home/git/下的.ssh/下存放,实际目录/home/git/.ssh/authorized_keys。
接下来我们需要把刚才在客户端生成的公钥存放在authorized_keys文件中。接下来两种方法任选其一。
1)在客户端执行命令
ssh git@服务器IP 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub
会提示输入一次在第二步设置的服务器git用户的密码。
执行完之后,可以在.ssh目录下查看authorized_keys文件是否存在,存在即为成功。
2)通过手工创建文件来保存内容
cd .ssh/
vi authorized_keys
在vi编辑器中输入,(在客户端中cat id_rsa.pub)文件的内容,之后:wq退出即可
至此密码导入就ok了。
接下来我们修改权限。
chmod 700 .ssh
cd .ssh
chmod 600 authorized_keys
至此我们服务器,客户端,及一个空仓库(/home/git/project.git)已经设置完毕。
接下来我们简单的使用一下。
三、简单使用
1、在桌面上克隆服务器端project.git项目
git clone git@192.168.0.109:/home/git/project.git
接下来我们切换到project目录下,并手动创建1.txt(内自己写内容)文件。
接下来,我们从工作区添加到版本库的暂存区、仓库区,上传到服务器。
git add 1.txt
git commit -m 'new 1.txt'
git push origin master
至此,我们已经完成了基本的创建新文件并保存的任务。