服务器端
1.linux服务器上搭建 【centos】 yum install -y git
2.搭建完成后使用命令查看 git --version
3. 服务器端创建 git 用户,用来管理 Git 服务,并为 git 用户设置密码
请依次执行一下命令
4.服务器端创建 Git 仓库
设置 /home/data/git/gittest.git 为 Git 仓库
然后把 Git 仓库的 owner 修改为 git
请依次执行一下命令
4. 在windows电脑上进行克隆【本地文件 d:/phpstudy/www/gittest_gitbash】
使用 Git Bash 作为命令行客户端执行命令: $ git clone git@192.168.44.99:/home/data/git/gittest.git
注意:当第一次连接到目标 Git 服务器时会得到一个提示:
选择yes
此时 C:\Users\用户名.ssh 下会多出一个文件 known_hosts,以后在这台电脑上再次连接目标 Git 服务器时不会再提示上面的语句。
6.客户端创建 SSH 公钥和私钥执行一下命令
$ ssh-keygen -t rsa -C "472323087@qq.com"【#邮箱】
此时 C:\Users\用户名.ssh 下会多出两个文件 id_rsa 和 id_rsa.pub
id_rsa 是私钥
id_rsa.pub 是公钥
7.服务器端 Git 打开 RSA 认证
进入 /etc/ssh 目录,编辑 sshd_config,打开以下三个配置的注释:
8.创建公钥存放目录
由 AuthorizedKeysFile 得知公钥的存放路径是 .ssh/authorized_keys,实际上是 $Home/.ssh/authorized_keys,由于管理 Git 服务的用户是 git,所以实际存放公钥的路径是 /home/git/.ssh/authorized_keys
在 /home/git/ 下创建目录 .ssh
然后把 .ssh 文件夹的 owner 修改为 git
9.将客户端公钥导入服务器端 /home/git/.ssh/authorized_keys 文件
回到 Git Bash 下,导入文件:
回到服务器端,查看 .ssh 下是否存在 authorized_keys 文件:
重要提示:
修改 .ssh 目录的权限为 700
修改 .ssh/authorized_keys 文件的权限为 600
10. 客户端再次 clone 远程仓库
git clone git@192.168.56.102:/home/data/git/gittest.git
windows客户端
1.下载 Git for Windows,地址:https://git-for-windows.github.io/
安装完之后,可以使用 Git Bash 作为命令行客户端。
2.安装完之后,查看 Git 版本 git --version
代码提交后自动更新项目【自动化部署】
1.配置git仓库中的hooks函数里面有post-receive和post-update这两个文件(如果没有的话需要自己新建)
下面是配置好的post-receive里的文件内容:
2.web目录下文件配置
git目录下的文件配置完毕,接下来进入web目录/wwwroot/www。将git目录下刚创建的空仓库的内容clone过来,命令如下
git clone /home/data/git/gittest.git
3.赋予权限给git用户
chown -R git:git huang/
最后本地提交代码进行测试即可