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

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.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.kler.cn/a/283720.html

相关文章:

  • SystemVerilog学习笔记(六):控制流
  • 使用elementUI实现表格行拖拽改变顺序,无需引入外部库
  • TCP/IP协议,TCP和UDP区别
  • 2024版本IDEA创建Sprintboot项目下载依赖缓慢
  • CommandLineParser 使用
  • 实现一个BLE HID鼠标
  • 记录|如何全局监听鼠标和键盘等事件
  • ARCGIS 纸质小班XY坐标转电子要素面(2)
  • JavaScript中DOW和BOW;笔记分享;知识回顾
  • YOLOv9改进策略【模型轻量化】| PP-LCnet
  • 代码随想录算法训练营第五十八天 | 图论part08
  • 验证码获取测试的步骤和要点
  • nipplejs(虚拟游戏操作杆)跟fabric(canvas缩放、旋转)
  • 解决linux每次打开新终端都要重新source ~/.bashrc问题
  • word文档转html(只支持段落和表格)
  • git 拉取或推送到指定分支
  • IPython 使用技巧整理
  • nginx启动报错:worker_connections exceed open file resource limit: 1024
  • ES6基础----Map的使用
  • 【问题分析】CtsWindowManagerDeviceAnimations【Android15】
  • SpringBoot中@SchedulerLock注解实现定时任务中分布式锁的使用
  • CTFhub通关攻略-SSRF篇【1-5关】
  • windows安装Docker的步骤
  • 内联函数与动态内存分配
  • URP custompasscustom render objects
  • c++多线程交替输出