在项目服务器部署git 并实现自动提交

以下场景适合在服务器当中使用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 <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-keygen -t rsa

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

如果.ssh 没有authorized_keys 自己创建

mkdir 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3246184.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

什么是 EDI 电子数据交换? EDI 有哪些优势?EDI 解决方案 以及行业应用

什么是EDI电子数据交换&#xff1f; EDl电子数据交换(Electronic Data |nterchange)是指按照同一规定的一套通用标准格式&#xff0c;将标准的数据信息通过通信网络传输&#xff0c;在贸易伙伴的电子计算机系统之间进行数据交换和自动处理。简单来说&#xff0c;EDI是将贸易、…

2024Datawhale AI夏令营---Inclusion・The Global Multimedia Deepfake Detection--学习笔记

赛题背景&#xff1a; 其实总结起来就是一句话&#xff0c;这个项目是基于目前的深度伪装技术&#xff0c;就是通过大量人脸的原数据集进行模型训练之后&#xff0c;能够生成伪造的人脸视频。这项目就是教我们如何去实现这个DeepFake技术。 Task1:了解Deepfake和跑通baseline …

C语言 | Leetcode C语言题解之第237题删除链表中的节点

题目&#xff1a; 题解&#xff1a; /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/void deleteNode(struct ListNode* node) {struct ListNode * p node->next;int temp;temp node->val;node->val…

C++从入门到起飞之——inline/nullptr关键字全方位剖析!

个人主页&#xff1a;秋风起&#xff0c;再归来~ C从入门到起飞 个人格言&#xff1a;悟已往之不谏&#xff0c;知来者犹可追 克心守己&#xff0c;律己则安&#xff01; 目录 1、inline 2、nullptr 3.完结散花 1、inline • ⽤inline修饰的函数叫…

苹果手机的微信过期文件怎么恢复?3个小窍门,让你快速找回

在微信APP里&#xff0c;发送过的文件只能储存7天&#xff0c;7天之后就会自动清除&#xff0c;导致无法打开。那么&#xff0c;微信过期文件怎么恢复呢&#xff1f;别担心&#xff0c;今天我们就来分享3个实用的小窍门&#xff0c;帮助你轻松恢复苹果手机上过期的微信文件。赶…

React Native 自定义 Hook 获取组件位置和大小

在 React Native 中自定义 Hook useLayout 获取 View、Pressable 等组件的位置和大小的信息 import {useState, useCallback} from react import {LayoutChangeEvent, LayoutRectangle} from react-nativeexport function useLayout() {const [layout, setLayout] useState&l…

springcolud学习03Eureka

Eureka 模块 来实现服务治理 服务治理就是提供了微服务架构中各微服务实例的快速上线或下线且保持各服务能正常通信的能力的方案总称 建立eureka模型 导入依赖 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XM…

Linux 上 TTY 的起源

注&#xff1a;机翻&#xff0c;未校对。 What is a TTY on Linux? (and How to Use the tty Command) What does the tty command do? It prints the name of the terminal you’re using. TTY stands for “teletypewriter.” What’s the story behind the name of the co…

浅谈Visual Studio 2022

Visual Studio 2022&#xff08;VS2022&#xff09;提供了众多强大的功能和改进&#xff0c;旨在提高开发者的效率和体验。以下是一些关键功能的概述&#xff1a;12 64位支持&#xff1a;VS2022的64位版本不再受内存限制困扰&#xff0c;主devenv.exe进程不再局限于4GB&#xf…

SQL常用数据过滤---IN操作符

在SQL中&#xff0c;IN操作符常用于过滤数据&#xff0c;允许在WHERE子句中指定多个可能的值。如果列中的值匹配IN操作符后面括号中的任何一个值&#xff0c;那么该行就会被选中。 以下是使用IN操作符的基本语法&#xff1a; SELECT column1, column2, ... FROM table_name WH…

用Vue3和WebCola实现3D图的在线展示

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 基于Cola.js的网络图绘制 应用场景 Cola.js是一个JavaScript库&#xff0c;用于绘制交互式网络图。它广泛应用于社交网络、知识图谱、生物网络等领域&#xff0c;帮助用户可视化和探索复杂的数据关系。 基本…

c语言唯一一个三目运算符

条件表达式由两个符号&#xff08;&#xff1f;和&#xff1a;&#xff09;组成&#xff0c;必须一起使用。要求有三个操作对象&#xff0c;称为三目运算符。 一般形式为 表达式1&#xff1f;表达式2&#xff1a;表达式3 理解如下&#xff1a; a>b?(maxa):(maxb); //相当…

用AI生成Springboot单元测试代码太香了

你好&#xff0c;我是柳岸花开。 在当今软件开发过程中&#xff0c;单元测试已经成为保证代码质量的重要环节。然而&#xff0c;编写单元测试代码却常常让开发者头疼。幸运的是&#xff0c;随着AI技术的发展&#xff0c;我们可以利用AI工具来自动生成单元测试代码&#xff0c;极…

JS+CSS特效:HTML+JS+CSS 实现精致的带二级菜单的头部菜单

本篇&#xff0c;我们来演示一个二级菜单是怎么做出来的。 案例效果图 因为本次内容主要目标是实现顶部的导航菜单&#xff0c;所以我们不关心其他内容。 第一步&#xff1a;清除浏览器默认样式 & 添加基本样式 *{ margin: 0px; padding: 0px; box-sizing: border-box; …

万界星空科技电线电缆行业MES系统核心功能

在日新月异的科技浪潮中&#xff0c;电线电缆行业作为国民经济的重要支柱&#xff0c;正面临着前所未有的挑战与机遇。如何在激烈的市场竞争中脱颖而出&#xff0c;实现生产效率与产品质量的双重飞跃&#xff0c;成为了每一家线缆企业亟需解决的课题。万界星空科技&#xff0c;…

电池放电倍率

电池放电倍率是指电池在单位时间内放电的速率与其额定容量之比 &#xff0c;放电倍率越大&#xff0c;表示电池能够在较短的时间内释放更多的电能。一般来说&#xff0c;电池的放电倍率会影响其使用时的性能和寿命。 电池的放电倍率主要取决于其设计和制造工艺。一般来说&#…

Github 2024-07-17 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-07-17统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量非开发语言项目3Python项目3Rust项目2TypeScript项目2MDX项目1项目化学习 创建周期:2538 天协议类型:MIT LicenseStar数量:161973 个Fork数量…

气象数据文件名解析:使用正则表达式提取时间信息

气象数据文件名解析&#xff1a;使用正则表达式提取时间信息 前言 在处理大量气象数据文件时&#xff0c;文件名往往携带了关键的元数据信息&#xff0c;如日期、时间、地点、测量设备等。其中&#xff0c;时间信息尤为重要&#xff0c;因为它帮助我们理解数据的时效性和用于…

2024 50+行业大模型应用解决方案全解

第一章&#xff1a;以“生成”能力赋能产业智慧化 从当前大模型的行业应用发展中可以看到&#xff0c;现阶段的大模型更适合于企业的“生成”任务&#xff0c;而非“决策”任务。 “生成”任务主要指文本生成、对话系统、语言翻译等&#xff0c;大模型可以通过分析大量文本数…

算法项目报告:物流中的最短路径问题

问题描述 物流问题 有一个物流公司需要从起点A到终点B进行货物运输&#xff0c;在运输过程中&#xff0c;该公司需要途径多个不同的城市&#xff0c;并且在每个城市中都有一个配送站点。为了最大程度地降低运输成本和时间&#xff0c;该公司需要确定经过哪些配送站点&#xff…