利用git将Qt代码托管到U盘或者网盘

news2024/11/27 16:49:53

文章目录

  • 1.前言
  • 2.解决方案
  • 3.操作步骤
    • 3.1.软件安装
    • 3.2.在U盘创建裸仓库
    • 3.3.创建Qt程序并将代码上传至U盘
    • 3.4.版本标记及切换
    • 3.4.在别的电脑上clone代码出来
  • 4.其他
  • 5.结语

1.前言

我们在开发项目时,随着项目需求的增加以及bug的修复,肯定会涉及到版本管理的问题。
由于git的使用具有一定的门槛,之前我都没怎么用。基本没有怎么进行版本管理,而是周期地(比如每天)把代码压缩打包备份一下,然后将他们放到网盘中,如下图所示:
在这里插入图片描述但是这样没办法迅速、明确地知道自己两个不同的备份之间有那些不同,尤其是想回退到某个特定的版本时,简直就是噩梦。
而git就能很好地进行版本管理。
说到git,肯定就有人想到github了。但是有一些代码是不方便外传的;又或者出于谨慎,只想把代码备份到U盘的;由于种种原因就不想上传到github。
这里提供一个把自己的U盘当github来用的办法。

2.解决方案

其实解决办法很简单:裸仓库。
创建好这个裸仓库之后,这个裸仓库就是你的代码服务器了。

3.操作步骤

3.1.软件安装

为了方便使用,最好先安装两个软件:
git,这个是基础软件,必须安装的。【Git --distributed-even-if-your-workflow-isnt】
GitHub Desktop,这个是方便可视化地使用git功能,不用手动输命令的。【Experience Git without the struggle】

3.2.在U盘创建裸仓库

我现在有个U盘YongSton。我在U盘下新建了个路径:H:\git\MyProject.git。这个文件夹的.git并不是强制要求,只不过大家都是这样搞,那我们也随大流。
在这个文件夹下右键,点击Open Git Bash here,打开git控制台。
在这里插入图片描述然后在git控制台中执行

git init --bare

在这里插入图片描述
至此,最难的已经完成了。

3.3.创建Qt程序并将代码上传至U盘

使用QtCreator创建一个工程,路径可以放在任意位置,我这里放在C:\Users\Administrator\Desktop\QtPrj\MyProject

在这里插入图片描述然后点击Tools–》Git–》Create Repository,为本工程创建一个本地仓库。
在这里插入图片描述路径就让它选择默认的(本工程根目录下)就行
在这里插入图片描述创建好之后,在工程名那里会显示当前分支名。
在这里插入图片描述先配置一下我们的远程主机(U盘)
在这里插入图片描述在弹窗中点击add,然后添加origin,路径选我们前面U盘中的那个裸仓库
在这里插入图片描述

然后我们执行一下commit
在这里插入图片描述填好信息,勾选Select all,然后点击Commit
在这里插入图片描述这时候,更新还没传到U盘。还得执行Push
在这里插入图片描述
没事,点Yes
在这里插入图片描述可以看到,成功上传了。
在这里插入图片描述

3.4.版本标记及切换

这个时候,我们再用Github Desktop 打开我们的这个Qt工程所在文件夹的仓库。
在这里插入图片描述选择我们的工程目录
在这里插入图片描述可以看到,commit的记录已经存在了
在这里插入图片描述我们把这次commit打个tag,V0.0.1
在这里插入图片描述
创建好tag之后,需要点击一下Push origin。然后就把tag显示出来了。
在这里插入图片描述

在这里插入图片描述然后我们回到QtCreator,做一些修改。然后再提交一次commit,并创建一个tag:V0.0.2

在这里插入图片描述这样,我们就有了两个版本了。
假如我们想看看V1版本的代码,该如何操作呢?
在tag对应的commit上,右键,点击Checkout commit即可
在这里插入图片描述
这时我们回到QtCreator查看,会弹出这个窗口,点击Yes to All。
在这里插入图片描述然后看到,的确是V0.0.1的代码了,而且项目名称这里也显示了。
在这里插入图片描述注意的是,现在这个状态下,代码文件都是【临时】的,修改后无法提交commit的。现在是Detached HEAD,不属于任何一个branch。
在这里插入图片描述
要回到正常的代码编辑处理流程,必须切换回到某个branch。

3.4.在别的电脑上clone代码出来

假如说我在工作电脑A上面进行了上述的所有操作,然后我把U盘拔出来。然后出差了,到了新的工作地点,把U盘插到了电脑B。
那么在电脑B上,我如何把这个Qt工程拷贝出来?
其实简单,就是标题说的,git clone。
在B电脑上的某个文件夹下,启动git的命令行
在这里插入图片描述
执行下面的命令(具体路径得看你的U盘路径)

git clone H:/git/MyProject.git

在这里插入图片描述
打开文件夹看看,
在这里插入图片描述
再用Github Desktop看看。也没问题。

在这里插入图片描述

4.其他

假如在工作目录下,某些文件或者文件夹不希望备份到代码库中,我们可以在工作目录下新建一个.gitignore文件,里面写上对应的内容即可。
比如在我的工程目录下,build文件夹是在编译时自动生成,当然不希望将其备份起来,因此可以这样写。
在这里插入图片描述

5.结语

更加高级的功能,还是查询git如何使用。目前已知的功能,对于我来说,已经够了。

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

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

相关文章

2024年中国安防CIS市场现状及主要竞争企业分析

2024年中国安防CIS市场现状及主要竞争企业分析 CIS又名CMOS图像传感器,属于一种光学传感器,将光信号转换为电信号并通过读出电路转为数字化信号,是摄像头模组的核心元器件,可以用于手机、汽车、电脑、安防、消费等领域。不同应用领…

Pyqt5中的按钮在播放后出现大小变化应该怎么做

有的时候开发的Pyqt5程序总是会在预览后发现按钮的大小和设计的不一样大,主要原因就是因为按钮的“水平策略”和“垂直策略”的设置导致的,具体如下: 设置为fixed,就是固定的,不要设置为其他的。 fixed的功能如下 部…

短信验证码实现

一、设置AccessKey 创建用户并配置使用权限,使我们拥有调用 aliyunAPI 的权限,之后会生成 AccessKeyID 和 AccessKey密码,后面我们会使用到。需要注意的是 AccessKeyID 和 AccessKey密码生成后我们需要将他保存起来,否则后期无法查…

网站UI:我只负责漂亮,实现的事情交给前端开发。

网页UI的美观性对于用户体验和网站的成功至关重要,以下是几个原因: 吸引用户:美观的网页UI可以吸引用户的注意力,使用户对网站产生兴趣并留下深刻印象。用户更有可能在美观的界面上停留更长时间,探索网站的功能和内容…

默安逐日实验室:XDP的应用实践

1. 网络数据包是如何进入进计算机的 众所周知,网络数据包通常需要在TCP/IP协议栈中进行处理,但网络数据包并不直接进入TCP/IP协议栈;相反,他们直接进入网络接口。因此,在数据包进入 TCP/IP 堆栈之前,它们已…

【计算智能】遗传算法(二):基本遗传算法在优化问题中的应用【实验】

前言 本系列文章架构概览: 本文将介绍基本遗传算法在解决优化问题中的应用,通过实验展示其基本原理和实现过程:选取一个简单的二次函数作为优化目标,并利用基本遗传算法寻找其在指定范围内的最大值。 2. 基本遗传算法(SGA&#x…

柯桥小语种学校成人生活口语学习|西班牙语中H为什么不发音…

01 H en el alfabeto espaol 西语字母表中的h 字母H是唯一一个在标准西班牙语中不再代表任何音素的字母。尽管在它单独出现时被叫做HACHE,但在大多数单词拼写中,它只是一个没有声音对应关系的字母,因此RAE称其为“无声的H”(hac…

如何正确安装与维护电化学一氧化碳传感器?专业指南

电化学一氧化碳传感器是一种用于检测空气中一氧化碳(CO)浓度的设备,它基于电化学原理运作。这类传感器的核心组成部分包括电极、电解质和透气膜,它们共同构成一个微型的电化学电池。 电化学一氧化碳传感器的特点包括:…

滑动窗口练习3-最大连续1的个数(三)

题目链接:. - 力扣(LeetCode) 题目描述: 给定一个二进制数组 nums 和一个整数 k,如果可以翻转最多 k 个 0 ,则返回 数组中连续 1 的最大个数 。 示例 1: 输入:nums [1,1,1,0,0,0,1…

平面设计考试题

考试题 缺省页作用:缓减缺省页带来的负面情绪,增加s用户与产品的粘度,提升产品的用户体验 网站基本类型 c端b端 c端 面向用户和消费者的 门户站 产品网站 企业网站 电商网站 专题页面 游戏网站 视频网站 h5移动端 四大门户网站:新浪&…

【Android源码】Gerrit上传Android源码

关于Gerrit的安装参考下面链接 【Android源码】Gerrit安装 要实现上传Android源码,需要经历以下几步: 下载Android代码创建源码仓库创建manifests仓库上传源码其他电脑下载源码 要证明Gerrit中的源码真实可用,肯定是以其他人能真正共享到代…

idea中maven全局配置

配置了就不需要每次创建项目都来设置maven仓库了。 1.先把项目全关了 2. 进入全局设置 3.设置maven的仓库就可以了

绝地求生PUBG都准备了但是一直不匹配怎么办

绝地求生PUBG,作为一款备受玩家喜爱的射击游戏,以其真实的战斗体验和策略性决策而著称。玩家们在游戏中需要熟悉地图、选择适合的装备和战斗方式,并与队友进行默契的团队合作,才能在战场上取得优势。最近很多玩家都开始下载游玩绝…

RedHat9 | kickstart无人值守批量安装

一、知识补充 kickstart Kickstart是一种用于Linux系统安装的自动化工具,它通过一个名为ks.cfg的配置文件来定义Linux安装过程中的各种参数和设置。 kickstart的工作原理 Kickstart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,…

昇思25天学习打卡营第17天|ChatGLM-6B聊天demo

一、简介: 本次实验,基于MindNLP和ChatGLM6B模型搭建一个小的聊天应用,ChatGLM6B 是基于 GLM-4 模型开发的开源对话机器人,拥有 62 亿个参数,能够进行自然流畅的语言交流。在对话中,ChatGLM6B 可以胜任文案…

实现原理:远程过程调用(RPC)

Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 💥💥个人主页:奋斗的小羊 💥💥所属专栏:C语言 🚀本系列文章为个人学习…

破解在制品管理不透明难题

在快节奏的现代工业浪潮中,每一个细微的管理环节都直接关系到企业的竞争力与盈利能力。在车间生产中,在制品管理流程不透明是一个常见问题,它可能导致生产效率低下、成本增加、库存积压以及沟通障碍等负面影响。 在制品管理流程不透明&#x…

人员定位技术的行业应用,你有没有了解过?

在之前的文章中,新锐科创为大家讲述了,将人员定位技术实际应用于工厂人员定位的效果,大家感觉是不是有点新颖,那么,你又是否清楚人员定位技术的行业应用呢?如果你从来都没有了解过,建议看看本篇…

【EFK】efk 8收集docker容器日志测试

前言 目前,efk 全家桶已经更新到版本8 了,本章节我们使用8版本的elk搭建日志收集系统,了解它的配置运行过程,方便以后在更复杂的环境中更好的使用。 版本默认就是8最新的,也可以自己指定其他8的版本 elasticsearch: …

php简单商城小程序系统源码

🛍️【简单商城小程序】🛍️ 🚀一键开启,商城搭建新体验🚀 你还在为繁琐的商城搭建流程头疼吗?现在,有了简单商城系统小程序,一切变得轻松又快捷!无需复杂的编程知识&a…