本地Git仓库搭建(DevStar)与Git基本命令

本地Git仓库搭建(DevStar)与Git基本命令

  • 实验环境
  • 搭建平台
  • Git基本命令的使用
    • 本地仓库的创建
    • 代码提交
    • 代码合并
    • 版本发布
  • 总结

实验环境

实验环境

搭建平台

按照DevStar的Github仓库要求,在终端中执行下列命令,即可成功安装DevStar到本地部署。如遇网络问题,需要更换可用的docker镜像源。

wget -c https://devstar.cn/assets/install.sh && chmod +x install.sh && sudo ./install.sh
devstar help
sudo devstar start --port=8081

执行结果如下图所示:
运行结果1
运行结果2
这里我选择在8081号端口运行,故加了后缀--port=8081
随后在浏览器中访问http://localhost:8081即可进入DevStar平台,如下图所示。
配置页面
这里的配置选项默认没有改动,点击最下方按钮Install Gitea,等待几秒会跳转到注册页面,按要求扫码后再注册账号,第一个注册的账号会默认为管理员。
注册页面
登录页面
至此,DevStar平台的本地部署已完成。

Git基本命令的使用

本地仓库的创建

在页面左上角找到按钮New Repository,进入配置页。
创建仓库
仓库配置

图中修改已用红框标出。这里把Default Branch的内容修改成了master,因为本地Git默认的分支名称为master,改成一致为了输入指令时不用再修改。点击Create Repository即可创建仓库。
仓库界面

代码提交

首先在本地创建一个新的文件夹用于存放文件,然后在终端中运行下列指令。

git log # 查看git日志
git init # 初始化当前目录的本地仓库,生成.git文件
git remote add origin http://localhost:8081/ltdz/TestRepo.git # 将本地仓库与远程仓库关联,名为origin
git add hello.c # 把当前目录中的hello.c文件加入到暂存区,便于后续提交
git commit -m "Added hello.c" # 将暂存区提交到本地仓库
git push -u origin master # 将本地分支的提交推送到远程仓库,,第一次推送要用 -u 确认关系

命令行1
命令行2
注意在最后一步推送到远程仓库时需要验证DevStar的身份,用户名和密码即注册时的数据,随后即可在仓库中发现新添加的文件hello.c

提交代码

代码合并

在终端中运行下列命令,给仓库创建新的分支:

git branch main # 创建新分支main
git checkout main # 切换到分支main
git branch # 查看当前分支
git push -u origin main # 将新创建的分支推送到远程仓库

创建分支
随后即可在仓库中发现新创建的main分支。
在这里插入图片描述
再运行下列指令,在新创建的main分支下提交已经修改后的hello.c

git add hello.c
git commit -m "Modified hello.c from branch main"
git push origin main

在这里插入图片描述
随后即可在仓库中的main分支下发现对代码的修改,注意此时master分支下的代码内容没有变化,图中区别已用红框标出。
master分支
main分支
此时再切换回master分支,执行下列指令,即可将main分支的改动合并到master分支。

git merge main # 将main分支的改动合并过来
git push origin master # 推送到远程仓库

分支合并
此时master分支下的代码内容已经因为代码合并更新。
合并结果

版本发布

在终端中运行下列指令:

git tag -a v1.0.0 -m "Release Version 1.0.0" # 定义标签
git push origin v1.0.0 # 推送到远程仓库
git tag # 查看所有标签

版本发布
对应在仓库中也会显示新的版本:
在这里插入图片描述
在对应的Releases界面点击New Release即可创建新的Release并发布。

在这里插入图片描述
在这里插入图片描述

总结

通过本次实验,我深入学习了如何在本地搭建Git仓库并熟练掌握了Git的基本命令,包括仓库的创建、代码的提交、分支的合并以及版本的发布。我通过实际操作掌握了git initgit addgit commitgit pushgit branchgit mergegit tag等核心命令的使用方法;我通过创建和切换分支学会了如何在不同的分支上进行开发,并将修改合并到主分支。这让我理解了Git分支管理的强大功能,尤其是在多人协作开发中的应用。我通过打标签和发布版本,掌握了如何为代码库的重要节点做标记,并通过代码仓库的Release功能发布版本。这让我对软件版本管理有了更清晰的认识。本次实验的设计非常贴合实际开发需求,内容丰富且循序渐进,让我从零开始逐步掌握了Git的核心技能。希望未来还能有更多这样高质量的实验课程!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

stm32 蓝桥杯 物联网 独立键盘的使用

在蓝桥杯物联网平台里面,有5个外接设备,其中有一个就是6个独立按键。首先,我们先看一下按键有关的电路图。 电路图与cubemx设定 由图可见,独立键盘组由两行三列构成,我们通过行列来锁定要访问的独立按键在哪。ROW1挂…

set_clock_groups

一、命令参数与工具处理逻辑 核心参数定义 参数定义工具行为工具兼容性-asynchronous完全异步时钟组,无任何相位或频率关系(如独立晶振、不同时钟树)工具完全禁用组间路径的时序分析,但需用户自行处理跨时钟域(CDC&a…

工作记录 2017-01-06

工作记录 2017-01-06 序号 工作 相关人员 1 协助BPO进行Billing的工作。 修改CSV、EDI837的导入。 修改邮件上的问题。 更新RD服务器。 郝 修改的问题: 1、 In “Full Job Summary” (patient info.), sometime, the Visit->Facility is missed, then …

Adaptive AUTOSAR UCM模块——快速入门

Adaptive AUTOSAR中的UCM模块介绍 概述 Adaptive AUTOSAR(AUTomotive Open System ARchitecture)是一个开放的行业标准,旨在为现代汽车电子系统提供一个灵活且可扩展的软件框架。在这个框架中,更新与配置管理(Update and Configuration Management, UCM)模块扮演着至关…

解决跨域问题的6种方案

解决跨域问题(Cross-Origin Resource Sharing, CORS)是 Web 开发中常见的需求,以下是 6 种主流解决方案,涵盖前端、后端和服务器配置等不同层面: 一、CORS(跨域资源共享) 原理 通过服务器设置…

Python Selenium库入门使用,图文详细。附网页爬虫、web自动化操作等实战操作。

文章目录 前言1 创建conda环境安装Selenium库2 浏览器驱动下载(以Chrome和Edge为例)3 基础使用(以Chrome为例演示)3.1 与浏览器相关的操作3.1.1 打开/关闭浏览器3.1.2 访问指定域名的网页3.1.3 控制浏览器的窗口大小3.1.4 前进/后…

50个经典的python库

本文整理了50个可以迅速掌握的经典Python库,了解它们的用途,无论你是刚踏上编程之路,还是希望在Python的世界里更加深入,这50个库都能帮助你快速起飞。 1. Taipy Taipy是一个开源Python库,用于轻松的端到端应用程序开…

【视频】V4L2、ffmpeg、OpenCV中对YUV的定义

1、常见的YUV格式 1.1 YUV420 每像素16位 IMC1:YYYYYYYY VV-- UU– IMC3:YYYYYYYY UU-- VV– 每像素12位 I420: YYYYYYYY UU VV =>YUV420P YV12: YYYYYYYY VV UU =>YUV420P NV12: YYYYYYYY UV UV =>YUV420SP(最受欢迎格式) NV21: YYYYYYYY VU VU =>YUV420SP…

freeswitch(多台服务器级联)

亲测版本centos 7.9系统–》 freeswitch1.10.9本人freeswitch安装路径(根据自己的路径进入)/usr/local/freeswitch/etc/freeswitch使用场景: 使用服务器级联需要双方网络可以ping通,也就是类似局域网内,比如A服务器IP 192.168.1.100 B服务器 192.168.1.101,通过C设备注册…

SpringMVC 基本概念与代码示例

1. SpringMVC 简介 SpringMVC 是 Spring 框架中的一个 Web 层框架,基于 MVC(Model-View-Controller) 设计模式,提供了清晰的分层结构,适用于 Web 应用开发 SpringMVC 主要组件 DispatcherServlet(前端控…

LuaJIT 学习(1)—— LuaJIT介绍

文章目录 介绍Extensions Modulesbit.* — Bitwise operationsffi.* — FFI libraryjit.* — JIT compiler controlC API extensionsProfiler Enhanced Standard Library Functionsxpcall(f, err [,args...]) passes arguments例子: xpcall 的使用 load*() handle U…

std::ranges::views::common, std::ranges::common_view

std::ranges::views::common, std::ranges::common_view C20 引入的用于将范围适配为“通用范围”的工具,主要解决某些算法需要传统迭代器对(如 begin 和 end 类型相同)的问题。 基本概念 1. 功能 适配传统算法:将范围&#x…

4.3 数组和集合的初始及赋值

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的 版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商…

分布式光伏发电的发展现状与前景

分布式光伏发电的发展现状与前景 1、分布式光伏发电的背景2、分布式光伏发电的分类2.1、集中式光伏发电2.1.1、特点、原则2.1.2、优点2.1.3、缺点 2.2、分布式光伏发电2.2.1、特点、原则2.2.2、优点2.2.3、缺点 2.3、对比 3、分布式光伏发电的现状4、分布式光伏发电的应用场景4…

13 | 实现统一的错误返回

提示: 所有体系课见专栏:Go 项目开发极速入门实战课;欢迎加入 云原生 AI 实战 星球,12 高质量体系课、20 高质量实战项目助你在 AI 时代建立技术竞争力(聚焦于 Go、云原生、AI Infra);本节课最终…

DeepSeek结合Mermaid绘图(流程图、时序图、类图、状态图、甘特图、饼图)转载

思维速览: 本文将详细介绍如何利用DeepSeek结合Mermaid语法绘制各类专业图表,帮助你提高工作效率和文档质量。 ▍DeepSeek入门使用请看:deepseek保姆级入门教程(网页端使用 本地客户端部署 使用技巧) DeepSeek官网…

Java静态变量与PHP静态变量的对比

Java的静态变量在多线程并发的情况下是线程共有的。以下是关键点总结: 存储位置:静态变量属于类,存储在方法区(或元空间),这是所有线程共享的内存区域。因此,所有线程访问的都是同一个静态变量实…

c++20 Concepts的简写形式与requires 从句形式

c20 Concepts的简写形式与requires 从句形式 原始写法(简写形式)等效写法(requires 从句形式)关键区别说明:组合多个约束的示例:两种形式的编译结果:更复杂的约束示例:标准库风格的约…

上下分层、左右分离的驱动设计思想

之前了解了最简单的驱动程序、但是不易扩展、现在继续学习、上下分层、左右分离的驱动设计思想。 1、led_dev.c函数 上层函数,①定义一个结构体,存储函数用来接应app的函数。②定义一个入口函数,将我们接应的函数告诉内核,给这个…

人工智能在医疗领域的应用:技术革新与未来展望

人工智能(AI)技术正在重塑医疗行业的面貌。从辅助诊断到药物研发,从健康管理到手术机器人,AI的广泛应用不仅提升了医疗效率,还为精准医疗和个性化治疗提供了新可能。根据2025年多份研究报告及政策文件,全球…