在服务器上创建git仓库

news/2024/12/29 23:02:58/

1、在服务器上创建git仓库

选择一个创建文件夹的地方,这个地方不会将源码存放在这里,只用于版本控制

# 创建一个专门放置git的文件夹,也可以叫其它名
mkdir git  && cd git
# 创建自己项目的文件夹,文件夹后面要带 .git
mkdir my_object.git && cd my_object.git
# 初始化
git init --bare 

2、创建钩子

将会使用post-receive钩子,更多相关的信息可以参考官方文档。

进入到本地仓库里,使用命令

ls

在这里插入图片描述

3、编写post-receive

cd hooks  
vim post-receive  

post-receive文件中加入以下需要同步的语句

#!/bin/sh
# 解释
git --work-tree=文件映射目录 --git-dir=本地创建的git目录,后面需要加.get checkout -f
# 示例
git --work-tree=/www/wwwroot/项目目录 --git-dir=/var/git/项目目录.git checkout -f

/www/wwwroot/项目目录:同步到你服务器哪个目录

/var/git/项目目录.git:仓库地址

4、创建用户并设置密码

# 敲完后回车
adduser 用户名
# 设置上面定义的用户,并设置密码。敲完命令回车,会让你输入密码
passwd 用户名

5、获取本地的ssh-rsa

如果这不不设置的话会每次push都会输入密码

这次命令输入在 本地进行

#配置一个本地git的用户名 
git config --global user.name "xxx"
#配置本地用户的邮箱地址 
git config --global user.email "xxx@qq.com" 
#邮箱就是你上面设置的那个邮箱地址
ssh-keygen -t rsa -C xxx@qq.com 

之后查看公钥,目录在C:/Users/用户名/.ssh/id_rsa.pub

# 如果使用gitbash,或者Linux系统
cat ~/.ssh/id_rsa.pub

6、本地的ssh公钥设置到服务器仓库

# 切到服务器gits目录下
cd /home/gits
# 创建.ssh目录
mkdir .ssh
cd .ssh

之后创建authorized_keys文件

# 设置.ssh 和 authorized_keys的所有者为gits
chown -R gits:gits .ssh

7、设置仓库目录权限

将git仓库目录(/www/wwwroot/你的目录)设成可读写的(777)

# 这个是你之前映射的目录地址
cd /www/wwwroot/你的目录
chmod 777 -R * 

需要在映射目录创建文件夹,不然无法写入

# 创建完目录后,设置权限
chmod 777 -R * 

(这一步想当重要,必须是777,否则将无法写入文件)

8、本地项目推送

git remote add origin ssh://gits@服务器地址:22/var/git/你的目录.git

之后使用git命令就好了

  1. 初始化本地 Git 仓库
git init
  1. 添加文件到暂存区
git add .
  1. 提交更改
git commit -m "Initial commit"
  1. 关联远程 Git 仓库
git remote add origin https://github.com/your-username/your-repository.git
  1. 推送更改到远程仓库
git push -u origin master

9、设置多仓库同时推送

例如,设置第二条origin

  origin git@github.com:morethink/programming.git

之后就可以同时推送了

删除分支

# 删除 仓库名 origin
git remote rm origin

同时推送

例如,设置第二条origin

  origin git@github.com:morethink/programming.git

之后就可以同时推送了

删除分支

# 删除 仓库名 origin
git remote rm origin

http://www.ppmy.cn/news/1117910.html

相关文章

Feign实战-Springboot集成OpenFeign Demo以及参数详解

最近整理一下微服务的文章,先拿一直用的OpenFeign开刀 思考:微服务之间如何方便优雅的实现服务间的远程调用 一、说说openFeign是什么吧? 说到这个,那不得不先说说RPC 1.什么是RPC RPC 全称是 Remote Procedure Call &#x…

计算机是如何工作的下篇

操作系统(Operating System ) 操作系统是一组做计算机资源管理的软件的统称。目前常见的操作系统有:Windows系列、Unix系列、Linux系列、OSX系列、Android系列、iOS系列、鸿蒙等. 操作系统由两个基本功能: 对下,要管理硬件设备. 对上,要给…

摄像头工程师说 Camera - 数据格式 YUV 详解(2)

Camera 数据格式 YUV 详解 概述 上一个小节我们聊到 Camera 项目项目中常用的几种图像颜色的表示方法,并重点讲述了常用的 RAW、RGB、RGBA 格式。YUV 格式伴随着视频行业的快速发展,衍生出非常复杂YUV 格式定义,比如 YUV444、YUV422、YUV42…

js知识点getComputedStyle的用法,js获取dom样式的方法

获取dom样式的方法情况分为两种&#xff1a;第一种 行内样式 第二种 其他样式 一、行内样式获取比较简单&#xff0c;一般通过element.style.attr即可获取样式。 <template><div id"demo"></div> <template> <script>var dom doc…

【Linux基础】第31讲 Linux用户和用户组权限控制命令(三)

用户组管理命令 每个用户都有一个用户组&#xff0c;系统可以对一个用户组中的所有用户进行集中管理。不同Linux系统对用户组的规定有所不同。如Linux下的用户属于与它同名的用户组&#xff0c;这个用户组在创建用户时同时创建。用户组的管理涉及用户组的添加、删除和修改。组…

语义分割——灰度图像转伪彩色图像

目录 检验灰度图检验代码 灰度图转伪彩色图代码转换代码使用细则 示例转换结果总结 检验灰度图 制作语义分割数据集或用训练好模型测试图像时&#xff0c;得到的结果是灰度图像&#xff0c;如下&#xff1a; 检验代码 上面图像灰度值不是全是全为0&#xff0c;灰度范围在[0…

【操作系统笔记】内存分配

内存对齐 问题&#xff1a;为什么需要内存对齐呢&#xff1f; 主要原因是为了兼容&#xff0c;为了让程序可以运行在不同的处理器中&#xff0c;有很多处理器在访问内存的时候&#xff0c;只能从特定的内存地址读取数据。换个说法就是处理器每次只能从内存取出特定个数字节的数…

Ubuntu 安装 CUDA 与 OPENCL

前言&#xff1a;最近需要做一些GPU并行计算&#xff0c;因而入坑CUDA和OPENCL&#xff0c;两者都有用到一些&#xff0c;刚好有点时间&#xff0c;同时记录一些学习过程&#xff0c;排掉一些坑&#xff0c;这篇是环境安装篇&#xff0c;基本跟着走就没什么问题&#xff0c;环境…