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部署与使用 的相关文章

  • 【NLP】第 2 章 : Transformers简介

    2017 年 12 月左右 发表了一篇题为 Attention Is All You Need 的开创性论文 这篇论文彻底改变了 NLP 领域在未来时代的面貌 本文描述了转换器和所谓的序列到序列架构 序列到序列 或 Seq2Seq 神经网络

随机推荐

  • 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可