在项目服务器部署git 并实现自动提交
创始人
2024-12-28 22:10:51
0

以下场景适合在服务器当中使用git 方便提交代码,同时不需要外部的git仓库(码云gitee或者github作为管理平台)。依靠服务器本身ssh 连接协议做为git提交的地址,同时利用钩子自动同步项目代码

  1. 首先下载git
 sudo apt update    sudo apt install git 

2.查看版本是

 git version 

3.创建git仓库存储地址

mkdir report_test/aaa.git 

4初始化仓库

git init --bare 

初始化完成后会生成如下文件

`在这里插入图片描述

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  . --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-keygen -t rsa

跳转到 .ssh 目录 cd ~/.ssh 此时会生成公钥私钥 id_rsa.pub 文件为公钥

如果.ssh 没有authorized_keys 自己创建

touch 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 

相关内容

热门资讯

什么是变量提升 文章目录发现宝藏变量提升的定义变量提升的类型变量提升的示例函数声明提升的示例注意事项发现宝藏前些天发...
2024年【四川省安全员B证】... 题库来源:安全生产模拟考试一点通公众号小程序四川省安全员B证考试题库根据新四川省安全员...
离散型随机变量为何不是左连续? 目录离散型随机变量引言离散型随机变量的定义和性质是什么?定义性质如何证明离散型随机变量...
科技通报!微扑克app透明挂代... 自定义新版系统规律,只需要输入自己想要的开挂功能,一键便可以生成出专用辅助器,不管你是想分享给你好友...
理解Go 语言中读写锁 RWM... 读写锁是计算机程序并发控制的一种针结互斥锁优化的同步机制,也称 “共享-互斥锁” 、多读单写锁等,用...
【Go】如何使用 Go 连接 ... 我白天是个 搞笑废物 表演不在乎 夜晚变成 忧伤怪物 撕扯着孤独 我曾经是个 感性动物 小心地感触 ...
【数据结构】数据结构中树的结构... 文章目录前言一、树的分类1. 二叉树2. 二叉搜索树3. 堆4. B树和B+树5. 红黑树二...
c字符串转go字符串 【1】问题:如何将带中文的char*转utf8【2】问题分析:默认的带中...
2024年初级注册安全工程师职... ​2024年初级注册安全工程师考试首次开考(注:该考试由各省人事考试局组...
必知教程!微扑克小程序透明挂黑... 自定义新版系统规律,只需要输入自己想要的开挂功能,一键便可以生成出专用辅助器,不管你是想分享给你好友...