Git部署与使用

2023-10-27

Git部署与使用

欢迎关注 “攻城狮Gala”公/ 众 /号 ,每天一起学习,努力成为Web3全栈

摘要:当你有自己的服务器,同时期望私有化进行版本管理内容 or 代码,部署自己的Git服务器是一个绝佳选择。

背景

之前折腾笔记同步,虽然已经有S3可以在不同设备同步内容,但是对于不同设备同时修改或者出现编辑冲突时,使用S3变成噩梦,无法处理这种情况。

这时候Git作为版本化管理工具,可以完美解决这种问题。同时本着折腾的精神,决定在自己的云服务器部署Git服务,而不是使用Github的免费私有仓库。

选择自建服务还有两点:1.基于github的国内的访问速度;2.对私有数据的隐私保护;

服务端搭建

Git服务器部署

在Git服务器选项方面,采用gogs,gogs是使用Go开发的Git服务器,自带Web UI管理界面,非常赞。

部署的话自然是使用docker,部署方便之极,依赖docker和docker-compose,安装的自行找资料吧,比较简单。

下面是docker-compos.yaml配置,gogs容器需要挂载整个/data目录,来保存生成的数据。

version: '2'

services:
 db:
  container_name: gogs_db
  image: mysql
  volumes:
    - "./mysql/data:/var/lib/mysql"
    - "./mysql/conf.d:/etc/mysql/conf.d"
  command: mysqld --lower_case_table_names=1 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
  restart: always
  environment:
    MYSQL_USER: gogs
    MYSQL_PASSWORD: 123456
    MYSQL_ROOT_PASSWORD: 123456
    MYSQL_DATABASE: gogs

 gogs:
  container_name: gogs
  depends_on:
   - db
  image: docker.io/gogs/gogs:latest
  links:
   - db
  ports:
    - "10022:22"
    - "13000:3000"
  volumes:
    - ./gogs/:/data
  restart: always

注意mysql 8.0后root用户登录密码采用加密验证了,所以建议新增一个专用的账户来登录mysql,而不是使用root登录。

在docker-compose.yaml的目录,执行如下命令启动服务:

docker-compose up -d

设置域名

强烈建议设置域名使用你的git服务,同时启用https。当前android等系统已经要求访问链接必须是https。

我的服务就设置了对应https访问,命名可以做个参考:

https://git.xxx.com -> localhost:13000
https://gitssh.xxx.com -> localhost:10022

Git服务器初始化

启动后访问http://127.0.0.1:13000,启动后页面初始化,注意填写数据库主机时使用docker的container作为ip即可。

应用设置的时候,填写相应的域名。

点击最下面的立即安装,等待片刻。安装成功后可以登录,并创建你的仓库。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1zMhY6Rh-1648655371399)(https://s3.galacoding.fun/images/2022_03_20220327214948.png)]

客户端

如何从Git服务拉取仓库,并同步本地更改呢?下面介绍几个操作系统的客户端。

Win/Mac客户端

对于PC操作系统来说,git安装非常方便。访问git官网就有安装教程。

Android客户端

对于android来说,目前也有一些选择,我使用的是MGit。体验还可以,如果是私有仓库会记住你的账户密码进行拉取。

总结

Git服务搭建好后,可以非常方便应对类似笔记这种,内容变化后各设备同步的场景。以后除了同步笔记外,还可以作为个人私有代码仓库使用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git部署与使用 的相关文章

  • SpringCloud+saToken实现登录及权限认证

    SpringCloud saToken实现登录及权限认证 文章目录 SpringCloud saToken实现登录及权限认证 1 为什么要用sa Token 2 sa Token功能 3 springcloud集成sa token 3 1
  • 基于SpringBoot的足球青训俱乐部

    文章目录 项目介绍 主要功能截图 部分代码展示 设计总结 项目获取方式 作者主页 超级无敌暴龙战士塔塔开 简介 Java领域优质创作者 简历模板 学习资料 面试题库 关注我 都给你 文末获取源码联系 项目介绍 基于SpringBoot的足球
  • 基于SpringBoot的旅游网站281

    文章目录 项目介绍 主要功能截图 部分代码展示 设计总结 项目获取方式 作者主页 超级无敌暴龙战士塔塔开 简介 Java领域优质创作者 简历模板 学习资料 面试题库 关注我 都给你 文末获取源码联系 项目介绍 基于SpringBoot的旅游
  • [大厂实践] 零配置服务网格与按需集群发现

    本文介绍了Netflix通过扩展Envoy支持按需集群发现机制帮助团队无缝迁移服务网格的实践 原文 Zero Configuration Service Mesh with On Demand Cluster Discovery 在这篇文章
  • 深入理解左倾红黑树 | 京东物流技术团队

    平衡二叉搜索树 平衡二叉搜索树 Balanced Binary Search Tree 的每个节点的左右子树高度差不超过 1 它可以在 O logn 时间复杂度内完成插入 查找和删除操作 最早被提出的自平衡二叉搜索树是 AVL 树 AVL
  • Golang拼接字符串性能对比

    g o l a n g golang g o l an g
  • 如何用CHAT写新能源颗粒报告?

    问CHAT 写一份新能源颗粒报告 CHAT回复 新能源颗粒 也就是生化质能源颗粒 以其清洁 可再生的特性 在环保能源市场上拥有越来越广泛的应用 以下为对于新能源颗粒行业的一份报告 1 行业概述 新能源颗粒来源广泛 主要包括农业废弃物 林业废
  • 【计算机毕设任务书】荣皓房屋租赁平台的设计与开发

    1 本毕业设计 论文 课题应达到的目的 1 训练学生文献资料查阅 项目调研与分析能力 2 训练学生用所学知识解决实际问题的能力 3 加强对学生的专业知识进行综合训练 4 熟悉项目开发的一般方法和步骤 5 提高学生团队合作能力 2 本毕业设计
  • 【计算机毕业设计】个人日常事务管理系统

    进入21世纪网络和计算机得到了飞速发展 并和生活进行了紧密的结合 目前 网络的运行速度以达到了千兆 覆盖范围更是深入到生活中的角角落落 这就促使 管理系统的发展 管理系统可以实现远程处理事务 远程工作信息和随时追踪工作的状态 网上管理系统给
  • 【计算机毕业设计】航空信息管理系统

    传统信息的管理大部分依赖于管理人员的手工登记与管理 然而 随着近些年信息技术的迅猛发展 让许多比较老套的信息管理模式进行了更新迭代 飞机票信息因为其管理内容繁杂 管理数量繁多导致手工进行处理不能满足广大用户的需求 因此就应运而生出相应的航空
  • 问CHAT很繁琐的问题会不会有答案呢?

    问CHAT 什么已有的基于极值理论的极端温度重现期主要针对极端高温事件 对极端低温事件研究较少 CHAT 回复 为这主要可能是由于以下几个原因 1 气候变化与全球变暖 当前 全球变暖和气候变化的问题备受关注 这导致科研者更加关注极端高温事件
  • 利用CHAT写实验结论

    问CHAT 通过观察放置在玻璃表面上的单个水滴 人们可以观察到水滴充当成像系统 探究这样一个透镜的放大倍数和分辨率 CHAT回复 实验报告标题 利用玻璃表面的单一水滴观察成像系统的放大倍数和分辨率 一 实验目的 通过对比和测量 研究和探索玻
  • Python 中多态性的示例和类的继承多态性

    单词 多态 意味着 多种形式 在编程中 它指的是具有相同名称的方法 函数 操作符 可以在许多不同的对象或类上执行 函数多态性 一个示例是 Python 中的 len 函数 它可以用于不同的对象 字符串 对于字符串 len 返回字符的数量 示
  • 【计算机毕业设计】趵突泉景区的智慧导游小程序_5ztvv

    当今社会已经步入了科学技术进步和经济社会快速发展的新时期 国际信息和学术交流也不断加强 计算机技术对经济社会发展和人民生活改善的影响也日益突出 人类的生存和思考方式也产生了变化 传统趵突泉景区的智慧导游采取了人工的管理方法 但这种管理方法存
  • SpringBoot中整合ElasticSearch快速入门以及踩坑记录

    场景 若依前后端分离版手把手教你本地搭建环境并运行项目 若依前后端分离版手把手教你本地搭建环境并运行项目 本地运行若依前后端分离 CSDN博客 参考上面搭建项目 ElaticSearch Elasticsearch 是java开发的 基于
  • (2024最新整理)Java最全八股文及答案!

    Java的特点 Java是一门面向对象的编程语言 面向对象和面向过程的区别参考下一个问题 Java具有平台独立性和移植性 Java有一句口号 Write once run anywhere 一次编写 到处运行 这也是Java的魅力所在 而实
  • 如何打赢稳定性之战?

    文章目录 前言 为什么总会出现问题呢 如何证明你的稳定性做的有效果 既是持久战 也是防御战 1 提前建筑好防御工事 2 以攻为守 3 找外部支援和配合 前言 随着23年年末期间 各大厂争先恐后的出现的各种线上
  • Python - 字典4

    复制字典 您不能简单地通过输入 dict2 dict1 来复制一个字典 因为 dict2 只会成为 dict1 的引用 对 dict1 的更改也会自动应用于 dict2 有多种方法可以复制字典 一种方法是使用内置的 copy 方法 示例 使
  • 如何应对Android面试官-> 玩转 ViewPager 懒加载

    前言 ViewPager 缓存页面与预加载机制 通常我们 ViewPager 在使用的是一般都是结合 Fragment 一起使用 我们先来搭一个简单的使用界面 最终搭建出来的效果如下 简单的 ViewPager Fragment 的实现 比
  • SpringCloud Bus动态刷新全局广播

    文章目录 代码地址 配置项目 配置修改 测试 SpringCloud Bus动态刷新定点通知 代码地址 地址 https github com 13thm study springcloud tree main days11 20Bus 配

随机推荐

  • Excel2013 利用phonetic函数将多行数据合并到同一单元格中

    场景 有一列邮箱数据 现在需要将他们合并到同一个单元格内 且邮箱之间要用英文的逗号隔开 以前五条邮箱为例 利用phonetic函数实现这种合并 合并结果 其中 E列是添加的辅助列
  • Python 调用Sikuli Jar包

    Python 调用Sikuli Python 目录 Sikuli简介 简要说明 环境设置 第一种 Jpype 第二种 Pyjnius 结论 目录 Sikuli简介 Sikuli是由MIT 麻省理工学院 研究团队发布的一种图形化编程技术 编程
  • 实现SSM简易商城项目的商品查询功能

    实现SSM简易商城项目的商品查询功能 介绍 在SSM Spring SpringMVC MyBatis 框架下 我们可以轻松地实现一个简易商城项目 本博客将重点介绍如何实现商品查询功能 帮助读者了解并掌握该功能的开发过程 步骤 1 创建数据
  • LeetCode-1306. Jump Game III

    Given an array of non negative integers arr you are initially positioned at start index of the array When you are at ind
  • 用Flask和Vue制作一个单页应用(自己学习)

    这里以一个简单的例子 展示如何把前端页面的增删改查请求 传递到后端进行数据的操作 一 https zhuanlan zhihu com p 311323583 二 https zhuanlan zhihu com p 311510196 三
  • 王者荣耀s15服务器维护,王者荣耀s15赛季更新全部内容

    原标题 王者荣耀s15赛季更新全部内容 王者荣耀S14很快就要结束了 体验服的版本更新也已经放出来进行测试了 大家都对新赛季的改动非常期待 究竟会有哪些英雄成为新的版本之子 哪些英雄会沦为下水道呢 以下均为体验服内容 不代表最终版本数据 p
  • 栈和队列 Stack and Queue

    Stack and Queue Stack and Queue Linked List Implementation ListNode Stack Queue Array Implementation Stack Queue Stack a
  • 又一巨头宣布入局AIGC,一口气开源数个模型,还道出了它的变现之道

    金磊 发自 凹非寺量子位 公众号 QbitAI AIGC AI生成内容 这个概念在今年可以说是火得一塌糊涂 例如Stable Diffusion 只要对它说一句话 唰唰唰 地就能秒生成画作 再如最近大火的ChatGPT 对答如流堪比人类 简
  • 学习day59

    昨天学了插槽 但是没有即笔记了 今天的是vuex 总体来说 vuex就是一个共享单车 每个人都可以使用他 也可也对他进行反馈 即把一个数据列为vuex 然后每个组件可以使用这个对象 也可也反过来反馈他 这一个设计是将A组件的一个数据作为公共
  • git报错

    Git报错总结 一 git remote add origin git code aliyun com account TestProject git发生报错 报错信息如下 error remote origin already exist
  • 输入三个字符串,要求找出其中的最大者

    解题思路 设一个二维的字符数组 大小为3 20 每一行存放一个字符串 字符串比较用strcmp 字符串复制用strcpy include
  • Shell脚本编程教程

    1 Shell脚本语言的基本结构 1 1 Shell脚本的用途 自动化常用命令 执行系统管理和故障排除 创建简单的应用程序 处理文本或文件 1 2 Shell脚本基本结构 Shell脚本编程 是基于过程式 解释执行的语言 编程语言的基本结构
  • jquery获取select选中的值

    误区 一直以为jquery获取select中option被选中的文本值 是这样写的 s text 获取所有option的文本值 实际上应该这样 s option selected text 获取选中的option的文本值 获取select中
  • 花费7元训练自己的GPT 2模型

    在上一篇博客中 我介绍了用Tensorflow来重现GPT 1的模型和训练的过程 这次我打算用Pytorch来重现GPT 2的模型并从头进行训练 GPT 2的模型相比GPT 1的改进并不多 主要在以下方面 1 GPT 2把layer nor
  • hexo设置博客的主题

    文章目录 一 设置博客的主题 二 设置博客的动态背景 一 设置博客的主题 1 登录 https hexo io themes 2 选择自己喜欢的个人主题 然后点击对应的主题 进入代码界面后 点击进入下面的按钮 然后进行保存 到对应的文件夹下
  • 【粉丝问答10】C语言关键字static的使用详解

    粉丝提问 粉丝问题 总结一下 关键字static的使用方法 要想搞清楚关键字static的使用方法 必须首先搞清楚 可执行程序段的分类以及各段在内存区的逻辑地址的映射 一 可执行程序内存分配 1 可执行程序程序分段 一个程序的3个基本段 t
  • 安卓常见内存泄露解决办法

    1 如果有打开Dialog 一定要在Activity的Destroy释放 否则有可能造成Activity异常退出时的内存泄露 Override protected void onDestroy super onDestroy if prog
  • 子串和子序列(python)

    子串 串中任意个连续的字符组成的子序列称为该串的子串 子序列 序列的一部分项按原有次序排列而得的序列 coding utf 8 1 连续子串最大和 def MaxSum arr res s arr 0 arr 0 for x in arr
  • 二叉树专题

    二叉树专题 二叉树的存储与基本操作 二叉树的遍历 先序遍历 中序遍历 后序遍历 层次遍历 利用先序遍历和中序遍历构造二叉树 二叉树的静态实现 一般的树 存储 新建结点 遍历 代码来源 晴神 算法笔记 二叉树的存储与基本操作 定义 struc
  • Git部署与使用

    Git部署与使用 欢迎关注 攻城狮Gala 公 众 号 每天一起学习 努力成为Web3全栈 摘要 当你有自己的服务器 同时期望私有化进行版本管理内容 or 代码 部署自己的Git服务器是一个绝佳选择 背景 之前折腾笔记同步 虽然已经有S3可