以下场景适合在服务器当中使用git 方便提交代码,同时不需要外部的git仓库(码云gitee或者github作为管理平台)。依靠服务器本身ssh 连接协议做为git提交的地址,同时利用钩子自动同步项目代码
1.首先下载git- sudo apt update
- sudo apt install git
复制代码 2.查看版本是3.创建git仓库存储地址- mkdir report_test/aaa.git
复制代码 4初始化仓库初始化完成后会生成如下文件
`
5 此时git仓库已经创建完成 通过- ssh://k1919@120.46.74.130:/report_test/aaa.git
复制代码 可以访问到git项目- 其中 k1919 是用户名 120.46.74.130为IP地址
复制代码 (有一点要注意,所使用的用户名要有操作目录的权限)
6 在hooks 下创建 post-update 钩子(或者post-receive钩子)- sudo touch post-receive
- sudo chmod +x post-receive
复制代码 编写post-receive- #!/bin/sh
- # 确保这个脚本在Git仓库的.git/hooks目录下运行
- REPO_DIR=$(dirname "$0")/..
- cd "$REPO_DIR"
- # 输出信息
- echo "Updating rrr project to the latest master..."
- # 切换到目标目录
- TARGET_DIR="/project_test/aaa"
- cd "$TARGET_DIR"
- # 拉取最新代码(假设这里是一个克隆的仓库)
- git fetch origin
- git reset --hard origin/master
- # 或者,如果这不是一个克隆的仓库,你可能需要克隆或拉取代码
- # git clone <repository-url> . --branch master --single-branch
- # 返回到原始目录(如果需要)
- # cd "$REPO_DIR"
- exit 0
复制代码 post-receive和post-update的区别如下
6 创建项目,并添加git信息- mkdir project_test/aaa
- git init
- git remote add origin ssh://k1919@120.46.74.130:/report_test/aaa.git
复制代码 7 服务器生成 秘钥跳转到 .ssh 目录此时会生成公钥私钥 id_rsa.pub 文件为公钥
如果.ssh 没有authorized_keys 自己创建将 id_rsa.pub 中的内容 复制到 authorized_keys
8 将自己电脑当中的 公钥也复制到 authorized_keys中,windows路径一般为
C:\Users\Administrator.ssh
如下图所示
在本地提交代码会自动同步至服务器(并且配置了公钥,不用输入密码)- git add .
- git commit -m "kkk"
- git pull origin master
- git push origin master
复制代码 到此这篇关于在项目服务器部署git 并实现自动提交的文章就介绍到这了,更多相关服务器部署git 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
来源:互联网
免责声明:如果侵犯了您的权益,请联系站长(1277306191@qq.com),我们会及时删除侵权内容,谢谢合作! |