gitea安装及使用方法(常用命令)

        Gitea 是一个轻量级的 DevOps 平台软件。从开发计划到产品成型的整个软件生命周期,他都能够高效而轻松的帮助团队和开发者。包括 Git 托管、代码审查、团队协作、软件包注册和 CI/CD。接下来说说怎么安装以及一些简单使用方法:

一、下载安装包

        1、gitea安装包:Gitea | gitea

二、安装

        2.1 gitea 安装

                1、把下载好的安装包(gitea-1.25.3-windows-4.0-amd64.exe),放到D:\gitea(可以自己定义),双击gitea-1.25.3-windows-4.0-amd64.exe;

弹出:

在浏览器中输入:http://localhost:3000

回车后,弹出:

我这里选择SQLite3,如果选别的数据库,那就需要安装,自己电脑安装有别的数据库,也可以执行选择

        这里可以创建一个管理员的账户,这样后面使用的时候可以在管理员账户下创建仓库,方便仓库管理。填好管理员账户后,点击立即安装就可以了,安装后,会在安装目录下生成几个文件。

到里gitea就安装好了。

三、配置开机自启动

        1、按下Win + R,输入shell:startup,打开启动文件夹
        2、右击空白处,选择“新建”--> “快捷方式,在预览中选择D:\gitea\gitea-1.25.3-windows-4.0-              amd64.exe
        3、点击下一页,在点击完成;

每次开机都会弹出这么一个框,很烦人,误关了,还不能用,所以可以把这个注册为服务,在后台默默的运行才稳妥;

四、配置后台运行

        4.1 通过管理员权限运行CMD

           4.1.1 Ctrl+Alt+Del 打开任务管理器

           4.1.2  使用windows自带的命令sc注册服务
4.1.3 开机自启动服务配置
         按下Win + R,输入shell:startup,创建一个批处理文件gitea.bat,写入如下命令:
@echo off net start gitea
这样每次开机就可以启动服务,不用手动的启动,方便些,首次可以直接点击这个批处理,启动服务。
4.1.4 查看服务

按下Win + R,输入services.msc,找到

五、简单使用

 5.1 admin账户创建仓库

点击创建仓库,弹出

        填好仓库名称,不要勾选仓库私有,点击下面的创建仓库,就可以了,

同时admin的管理员账户,可以进行仓库的管理

5.2 个人账户使用

   5.2.1 个人账户注册

        

5.2.2 派生admin仓库操作

点击’探索‘,选在admin/test后,点击右上角的’派生‘:

从admin派生过来的个人远端仓库:

个人远程仓库clone到本地的URL:

个人远程仓库代码合并到主干(admin仓库):这样做的好处就是可以方便代码走读,走读通过后,代码才合并到主干。


六、常用命令

1、克隆原程仓库到本地 git clone [url] #url是个人仓库地址 git clone [url] -b branch_name #url是个人仓库地址;branch_name 分支名:克隆指定的分支 2、提交文件到暂存区 git status #查看暂存区的状态(也可以查看本地工作区的状态) git add filename #filename 文件名 git add . #把本地修改的全部文件提交到暂存区 3、把暂存区的文件提交到版本库 git commmit -m 'fix:本次添加的注释信息' #提交类型说明: feat:新功能 fix:修改bug docs:文档描述变更 style:风格变动 refactot:代码重构 perf:性能优化 test:测试代码 chore:构建配置相关 revert:回滚 4、版本库到远程仓库 git push origin branch-name #branch-name 分支名 git push -f origin branch-name #branch-name 分支名 强制推送 git push -u origin branch-name #branch-name 分支名 将本地分支推送到远程仓库,并将本地分支与远程分支关联起来(当你第一次将本地分支推送到远程仓库时,使用 -u 选项可以方便地建立关联) 5、创建分支 git branch new_branch_name #new_branch_name 新分支名,当前是那个分支,就以这个分支创建新分支 git branch new_branch_name reference_branch_name #new_branch_name 新分支名,基于reference_branch_name分支创建新分支 git push origin -d branch_name # branch_name 远程分支名 git branch -D branch_name # branch_name 本地分支名 #分支命名规则: 功能开发: feature/功能名 bug修改:fix/问题描述 发布版本:release/版本号 个人开发:dev/姓名/功能 # 开发完成后合并到主分支 git checkout main git merge --no-ff feature/功能名 -m '本次添加的注释信息' # 保留分支历史,xxx:提交信息 git branch -d feature/功能名 # 删除本地分支 6、撤销commit git reset --soft HEAD\^ #撤销commit,但保留已add的文件 git reset --hard HEAD\^ #撤销commit,同时也撤销已add的文件 7、撤销add git reset 文件名 # 撤销单个文件 git reset # 撤销全部已add的文件 8、回滚到特定版本 git reset --hard commit_id # commit_id 可以通过git log查看之前提交的信息 git push origin branch_name --force # 强制推送 branch_name 本地分支名 9、紧急用一个分支解决某个bug或新增某个功能 # 创建分支并切换到该分支 git checkout -b feature/xxx master # 提交 git add . git commit -m "feat:本次添加的注释信息" git push origin feature/xxx #同步 git checkout master git merge feature/xxx git push origin master git checkout dev git merge feature/xxx git push origin dev #打标签发布 git tag -a v1.2.1 -m "本次添加的注释信息" git push --tags 10、 # 每天工作前: git checkout main git pull --rebase # 拉取最新代码(推荐用rebase代替merge) # 功能开发中途同步: git fetch origin # 获取远程更新 git rebase origin master # 变基到最新代码 11、 git diff去除^M的方法 1、git config --global --list 2、git config --global core.whitespace cr-at-eol 

Read more

华为OD机试双机位C卷-压缩日志查询(Py/Java/C/C++/Js/Go)

华为OD机试双机位C卷-压缩日志查询(Py/Java/C/C++/Js/Go)

压缩日志查询 华为OD机试双机位C卷 - 华为OD上机考试双机位C卷 100分题型 华为OD机试双机位C卷真题目录点击查看: 华为OD机试双机位C卷真题题库目录|机考题库 + 算法考点详解 题目描述 某设备需要记录每分钟检测到的指标值。为了节约存储空间,将连续相同指标值的记录合并。 压缩之前: 202411231000,11 202411231001,11 202411231002,12 202411231003,12 202411231004,10 202411231005,17 202411231006,17 202411231007,17 压缩之后: 202411231000,202411231001,11 202411231002,202411231003,12 202411231004,202411231004,10 202411231005,202411231007,17 查询时,根据输入的时间范围进行查询,需要返回回时间范围内记录的每分钟的指标值,如果某个时间点没有记录值,则此条记录忽略不返回。 输入描述 第一行为查询的时间范围,

By Ne0inhk
[C++从零实现Json-Rpc框架]第二弹——使用JsonCpp库并封装Json工具类

[C++从零实现Json-Rpc框架]第二弹——使用JsonCpp库并封装Json工具类

目录 一、前言 二、JsonCpp库 1. Json数据格式 2. JsonCpp介绍 3. JsonCpp 使用 4. 封装Jaon工具类 三、结语 一、前言         在本篇博文中,博主将为大家带来【C++从零实现Json-Rpc框架】的第二弹,即使用JsonCpp库,并通过这个库来封装Json工具类方便我们后续网络通信的序列化和反序列。 二、JsonCpp库 1. Json数据格式 Json 是⼀种数据交换格式,它采⽤完全独立于编程语言的文本格式来存储和表示数据。 例如:我们想表示⼀个同学的学⽣信息 ●C 代码表⽰ char *name = "xx"; int age = 18; float score[

By Ne0inhk
【C++:异常】C++ 异常处理完全指南:从理论到实践,深入理解栈展开与最佳实践

【C++:异常】C++ 异常处理完全指南:从理论到实践,深入理解栈展开与最佳实践

🎬 个人主页:艾莉丝努力练剑 ❄专栏传送门:《C语言》《数据结构与算法》《C/C++干货分享&学习过程记录》 《Linux操作系统编程详解》《笔试/面试常见算法:从基础到进阶》《Python干货分享》 ⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平 🎬 艾莉丝的简介: 🎬 艾莉丝的C++专栏简介: 文章目录 * C++学习阶段的三个参考文档 * 1 ~> 异常的概念 * 2 ~> 异常的使用层 * 2.1 异常的抛出和捕获 * 2.2 栈展开 * 2.2.1 理论 * 2.2.2 最佳实践 * 2.3 查找匹配的处理代码 * 2.3.

By Ne0inhk
8. C++ explicit 关键字

8. C++ explicit 关键字

一、explicit 关键字的核心定义 explicit 是C++中的修饰符关键字,唯一的作用场景是修饰类的构造函数,它的核心功能是:禁止编译器对被修饰的构造函数执行「隐式类型转换 / 隐式构造」行为。 二、前置知识:什么是「隐式类型转换/隐式构造」? 要理解explicit,必须先理解它要禁止的行为是什么。 触发隐式构造的前提 一个类的构造函数满足以下条件时,编译器就具备了「隐式转换」的能力: ✅ 构造函数是单参数构造函数(只有1个入参); ✅ 或,多参数构造函数,但除第一个参数外,其余参数都有默认值(本质等价于「可单参数调用」的构造函数)。 隐式构造的本质 编译器会自动将「单个入参的值」转换为「当前类的临时对象」,这个转换过程是编译器偷偷完成的,不需要程序员手动写构造代码,所以叫「隐式」。 三、无 explicit 时:隐式构造生效(反面示例) 下面的代码是不加explicit的情况,可以直观看到隐式构造的效果,

By Ne0inhk