当前位置: 首页 > news >正文

gitee版本控制

前置要求:

安装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.git4.推送更改到 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进行版本控制的两种方法

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【系统架构设计师】论文:论SOA在企业集成架构设计中的应用
  • 24年最新ComfyUI 入门教程:comfyui基本功能详解!
  • 利用Python解析json生成PPT、xmind思维导图教程
  • 网络堡垒:交换机加固,守护你的数据安全
  • Hyper-v 安装 centOS
  • Redis 在 Linux 环境中的基础语法与数据类型详解
  • oracle数据库安装和配置
  • 视频合并在线工具哪个好?好用的视频合并工具推荐
  • 人工智能在网络安全中是如何实现对未知威胁和零日攻击的识别的?
  • 嵌入式系统------ARM
  • 人工智能与机器学习原理精解【14】
  • 在国产芯片上实现YOLOv5/v8图像AI识别-【4.2】RK3588获取USB摄像头图像推流RTSP更多内容见视频
  • Linux编写·查看.sh文件
  • 2024年8月个人工作生活总结
  • [数据集][目标检测]街道乱放广告牌检测数据集VOC+YOLO格式114张1类别
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • 【刷算法】求1+2+3+...+n
  • avalon2.2的VM生成过程
  • classpath对获取配置文件的影响
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • es6(二):字符串的扩展
  • JavaScript 奇技淫巧
  • Map集合、散列表、红黑树介绍
  • Odoo domain写法及运用
  • Python_OOP
  • vue:响应原理
  • 观察者模式实现非直接耦合
  • 想写好前端,先练好内功
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • ​如何在iOS手机上查看应用日志
  • #Linux(make工具和makefile文件以及makefile语法)
  • #QT(QCharts绘制曲线)
  • #考研#计算机文化知识1(局域网及网络互联)
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (1)(1.13) SiK无线电高级配置(六)
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (6) 深入探索Python-Pandas库的核心数据结构:DataFrame全面解析
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (二十四)Flask之flask-session组件
  • (附源码)计算机毕业设计高校学生选课系统
  • (利用IDEA+Maven)定制属于自己的jar包
  • (算法)硬币问题
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .NET Core 发展历程和版本迭代
  • .Net 代码性能 - (1)
  • .NET+WPF 桌面快速启动工具 GeekDesk
  • .NetCore发布到IIS
  • .Net各种迷惑命名解释
  • .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc
  • .NET企业级应用架构设计系列之结尾篇