gitee版本控制

news2024/12/23 13:17:11

前置要求:

安装Git

git下载地址:https://git-scm.com/download/win

注册gitee

gitee官网:Gitee - 基于 Git 的代码托管和研发协作平台

创建普通项目

目录

git推送远程仓库基本操作

克隆仓库到本地

项目上传

版本管理

分支管理版本

增加版本

修改版本

修改方法一

修改方法二

删除版本

标签(tag)标记版本

添加标签

查看标签

推送标签

修改标签下的项目

方法一:检出(Checkout)标签

方法二:创建一个新分支

方法三:重置当前分支到标签

推送更改到远程仓库(可选)

总结

以标签修改项目版本的基本逻辑

git推送远程仓库基本操作

克隆仓库到本地

git clone https://gitee.com/your_username/your_repository.git

项目上传

设置用户名和邮箱(全局配置)
通过以下命令配置全局的用户名和邮箱,这样所有的 Git 仓库都会使用这些信息

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

配置完成后,Git 将不再提示你输入这些信息

1.添加文件
git add .

2.提交更改
git commit -m "你的提交信息"

3.[如果是非克隆项目需要关联远程仓库]
git remote add origin https://gitee.com/your_username/your_repository.git

4.推送更改到 Gitee
git push origin master

版本管理

1.分支管理不同版本:分支管理适用于长期维护和并行开发
2.标签(tag)标记版本:标签则适用于标记特定的版本点

分支管理版本

增加版本
本地创建一个新的分支来开发 2.0 版本
git checkout -b version-2.0

提交更改并推送到远程
git add .
git commit -m "Add version 2.0"

推送 version-2.0 分支到远程仓库
git push origin version-2.0

修改版本
修改方法一
修改方法一
使用 git log 查看提交历史,找到修改版本的提交哈希
git log

恢复版本中的文件到工作区
git checkout 版本哈希 

修改后项目上传到指定分支
修改方法二
直接切换分支
git switch 分支名

修改后项目上传到指定分支

方法一:常用于从历史记录中恢复特定文件或版本的内容,这对于修复回归错误或从老版本提取某些功能特别有用。
方法二:适用于你已经知道在哪个分支上进行开发或修改的场景,直接切换到那个分支后进行操作即可。

删除版本
在删除某个分支之前,确保当前不在要删除的分支上。切换到另一个分支
git switch 另一个分支

删除本地分支
git branch -d 分支名

注意:-d 选项只会删除已经被合并到当前分支的分支。如果确定要删除一个未合并的分支,可以使用 -D 强制删除
git branch -D 分支名

这里只删除了本地分支,如果使用   git switch 删除的本地分支名  git会检测到这个分支再远程仓库中存在,因此会从踪远程仓库拉取这个分支创建一个对应的本地分支

删除远程分支
git push origin --delete 分支名

确认分支是否被删除

使用以下命令查看本地有哪些分支
git branch

使用以下命令查看远程仓库的分支列表
git branch -r

标签(tag)标记版本

有两种主要类型的标签:轻量标签和附注标签。

tag-name:标签名

添加标签
轻量标签只是一个指向提交的简单指针,没有附加信息
git tag tag-name

附注标签包含作者信息、日期和标签信息,存储在 Git 数据库中
git tag -a tag-name -m "Tag message"
查看标签
列出所有标签
git tag

查看标签的详细信息(仅限附注标签)
git show tag-name

推送标签

推送标签到远程仓库
标签默认不会自动推送到远程仓库,需要显式地推送标签

推送单个标签
git push origin tag-name

推送所有标签
git push origin --tags

正常标签推送流程:创建项目->创建标签->推送项目->推送标签
注意:如果再推送项目前推送标签,远程仓库标签下的项目是前一个推送的项目。再推送错误后,如果本地标签和远程标签没有删除就再次推送,结果不会改变。

删除标签

删除本地标签
git tag -d tag-name

删除远程标签
git push origin --delete tag tag-name

修改标签下的项目

如果本地标签已被删除,但远程仓库标签还在

使用 git fetch 命令来拉取远程仓库中的标签和其他更新
git fetch --tags

查看标签指向的提交以确认要回退到的状态
git show tag-name

将项目恢复到标签对应的提交
有几种方式可以将项目恢复到标签项目的状态,取决于你的具体需求

方法一:检出(Checkout)标签
如果你只想临时查看或修改标签对应的状态,而不打算永久回退到该版本,可以检出该标签
git checkout tag-name

注意:使用 git checkout 检出标签后,Git 会进入“分离头部”(detached HEAD)状态。你可以查看和修改文件,但这些更改不会被关联到任何分支上,除非你创建一个新的分支。

方法二:创建一个新分支
如果希望基于标签对应的状态继续开发,可以创建一个新分支
git checkout -b branch-from-tag-name tag-name

这种方式会再tag-name基础上创建一个branch-from-tag-name分支

这会创建一个新的分支 branch-from-tag-name,并将其指向 tag-name 标签对应的提交。可以在这个分支上进行开发,并提交更改

方法三:重置当前分支到标签

如果你想将当前分支完全回退到项目标签对应的状态,并丢弃所有在这之后的更改,可以使用 git reset。有两种常用的 reset 方式

软重置(Soft Reset)

这会将当前分支的指针回退到对应个标签的版本,但保留工作区中的更改。更改将保持在暂存区中
git reset --soft tag-name

硬重置(Hard Reset)

这会将当前分支的指针回退到对应个标签的版本,并清除工作区中的所有更改(即完全恢复到对应标签的状态,丢弃所有未提交的更改)
git reset --hard tag-name
推送更改到远程仓库(可选)
如果你将分支重置到 对应版本的标签 并想将这些更改推送到远程仓库,你需要强制推送
git push origin branch-name --force

注意:强制推送会覆盖远程仓库中相应分支的历史记录,请谨慎操作

总结

检出标签:如果你只想临时查看或修改 版本 状态,使用 git checkout tag-name。
创建新分支:如果你想基于 版本 继续开发,使用 git checkout -b branch-from-tag-name tag-name。
重置当前分支:如果你想永久回退到 版本,使用 git reset --soft tag-name 或 git reset --hard tag-name,具体取决于你是否想保留工作区的更改。

以标签修改项目版本的基本逻辑

第一,修改标签本身

1.项目切换到指定标签
git checkout tag-name
2.修改项目
3.删除项目本地的当前标签
git tag -d tag-name
4.删除远程标签
git push origin --delete tag tag-name
5.提交文件
git add .
git commit -m "message"
6.创建标签并推送
git tag tag-name
git push origin tag-name
7.如果远程标签没有删除就强制推送
git push --force origin tag-name

第二,新建分支进行修改

1.创建一个新分支指向对应的标签
git checkout -b branch-from-tag-name tag-name
2.修改项目
3.提交分支
git add .
git commit -m "message"
git push origin branch-from-tag-name

以上就是gitee进行版本控制的两种方法

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

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

相关文章

紧急 浮毛正在挑战免疫系统?推荐榜TOP3浮毛空气净化器使用体验

作为一名多猫家庭的铲屎官,出门路人必知道我养猫,不是把铲屎官三个字大大的打在我脑门上了。而是衣服、裤子上无处不在的猫毛,以前我就靠着人力与各种工具与猫毛斗争,但效果总是差强人意。直到有一天,我因忽视浮毛而患…

Linux 用户缓冲区

1. 文件描述符的分配规则 我们知道Linux进程默认情况下会有3个缺省打开的文件描述符,分别是标准输入stdin--0, 标准输出stdout--1, 标准错误stderr--2。0,1,2对应的物理设备一般是:键盘,显示器,显示器.接下…

字符串原始字面量

简介:C11中添加定义了原始字符串的字面量,定义方式为:R"xxx(原始字符串)xxx",其中()两边的字符串可以省略。原始字面量R可以直接表示字符串的实际含义,而不需要额外对字符串做转译或链接等操作 …

ddpm和ddim小记

前面分析了DDPM和DDIM,但是仍然感觉对其理解不是和透彻,最近又学习了下,简单记录一下进一步的理解。为了方便理解,这里直接以两个像素的灰度图像为例。前面讲过无论是DDPM还是DDIM,他们的训练过程都是一样的&#xff0…

一套采用JAVA语言开发的数字化产科管理平台源码,自主知识产权,三甲综合医院应用案例,系统稳定运行,全套源码交付。

一套采用JAVA语言开发的一套数字化产科管理平台源码,自主知识产权,三甲综合医院应用案例,系统稳定运行。全套源码交付。 数字化产科管理平台源码技术栈: 技术架构:前后端分离 开发语言:Java 开发工具…

深度学习基础--梯度下降与初始化

在神经网络的背景下,它们用于寻找能够最小化损失函数的参数,使模型能够根据输入准确预测训练数据的输出。基本方法是随机选择一组初始参数,然后逐步进行微小调整,平均而言这些调整会降低损失。每一次的调整都是基于当前参数位置对…

ERROR: Cannot uninstall numpy 1.24.2, RECORD file not found.

目录 1.问题描述:2.解决方法:2.1流程2.2结果 小结: 1.问题描述: 卸载 numpy 时报错: ERROR: Cannot uninstall numpy 1.24.2, RECORD file not found. You might be able to recover from this via: pip install --f…

HTB-sequal(mysql)

前言 各位师傅大家好,我是qmx_07,今天给大家讲解sequal这台靶机 渗透过程 信息搜集 服务器开放了3306mysql端口思路:mysql爆破-sC参数会执行 相关的默认脚本 连接mysql数据库 通过空密码连接道mysql数据库flag:7b4bec00d1a39…

【GD32】从零开始学GD32单片机 | USB通用串行总线接口+HID键盘例程(GD32F470ZGT6)

1. 简介 USB,全称通用串行总线,相信大家都非常熟悉了,日常生活只要用到手机电脑都离不开这个接口,像鼠标键盘U盘都需要使用这个接口进行数据传输,下面简单介绍一下。 1.1 版本标准 USB的标准总体可以分为低速、全速和…

04:布局规划

1.切换到丝印层 2.用2D线对模块区域划分

keil5烧录后不自动复位和Flash Download failed - “Cotex-M3“报错解决

目录 项目场景: 复位问题描述 复位原因分析: 复位解决方案: 下载错误问题描述 下载错误原因分析: 下载错误解决方案: 总结 项目场景: keil5编译stm32例程在烧录时候遇到的一些问题 复位问题描述 1. 使…

全面解读LSC局域网屏幕监控软件:功能、优势与应用场景一网打尽!

在信息化高速发展的今天,企业管理的效率和精准度成为决定竞争力的关键因素。 LSC局域网屏幕监控软件(LAN Screen Capture),作为安企神推出的一款专为现代企业量身打造的超级局域网监控管理软件,以其强大的功能和灵活的…

MAC环境导出项目的目录结构

一、安装Homebrew包管理工具 /bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)" 官网网址:https://brew.idayer.com/ 二、用brew包管理工具安装tree brew install tree 三、打开终端,导出项目…

怎么用AI做视频总结?

利用AI工具批量生成影视短剧推广https://docs.qq.com/doc/DYnl6d0FLdHp0V2ll 搞个插件就可以了。 我只能说AI的终极目的就是为了视频服务的,语音(配音)、视频脚本(文案)、绘图(画面)、设计&…

数据结构:单链表逆置的相关问题

1.思路:这里主要是用到头插法的思想进行单链表的一个逆置 2.知识点回顾: (1)头插法 [1]什么叫头插法:新增节点在头节点后面(下图为单链表结构) [2&#xf…

Leetcode 257-二叉树的所有路径

给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 题解 递归回溯 遇到叶节点返回 每层的做法,list加上当前节点的string值 本题解将res作为全局变量,作为局部变量写法也…

图像边缘检测Canny

一、Canny边缘检测原理 边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。 Canny边缘检测算法是由4步构成:噪声去除、计算图像梯度、非极大值抑制、滞后阈值 1、噪声去除:由于边缘检测很容易受到…

Vulnhub靶场 | DC系列 - DC6

文章目录 DC-6环境搭建渗透测试 DC-6 环境搭建 靶机镜像下载地址:https://vulnhub.com/entry/dc-6,315/需要将靶机和 kali 攻击机放在同一个局域网里;本实验kali 的 IP 地址:192.168.10.146。 渗透测试 使用 nmap 扫描 192.168.10.0/24 网…

【报错已解决】`ValueError: Expected 2D array, got 1D array instead`的

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引言: 在使用机器学习库(如scikit-learn)时,开发者可能会遇到ValueError: Expec…

Qt/C++地址转坐标/坐标转地址/逆地址解析/支持百度高德腾讯和天地图

一、前言说明 地址和经纬度坐标转换的功能必须在线使用,一般用在导航需求上,比如用户输入起点地址和终点地址,查询路线后,显示对应的路线,而实际上各大地图厂家默认支持的是给定经纬度坐标来查询(百度地图…