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

文章目录

  • 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.mfbz.cn/a/774660.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【山东大学】web数据管理——复习笔记

写在前面 若有图片加载失败,请科学上网 。本文为对软件学院连老师的PPT课件总结所得的复习笔记,仅供参考。不保证对考点的全覆盖,以PPT为主。对往年考过的题相关知识点前面都标注了“考过”,并高亮,供参考。写的比较匆…

智能插座搭配BIOS唤醒功能实现远程定时开关机

智能插座 智能插座凭借其强大的联网能力,不仅能够实现远程操控开关电源,部分高端型号更是集成了电量统计与自动化操作功能,为用户带来了前所未有的便捷体验。以下是我对几款体验过的智能插座的简要评价,因版本差异可能有所不同。…

分享6个自己每天都会打开的网站

分享6个自己每天都会打开的网站,有实用办公网站,也有休闲摸鱼网站,链接直达,速看~ 1、鸠摩搜索 https://www2.jiumodiary.com/ 一个免费的电子书下载网站,页面干净无广告,只有一个搜索框,输入…

Playwright之录制脚本转Page Object类

Playwright之录制脚本转Page Object类 设计思路 : 我们今天UI自动化设计的时候,通常会遵循一些设计模式,例如Page Object模式。但是自己找元素再去填写有一些麻烦,所以我们可以通过拆解录制的脚本,将其中的元素提取出来…

vue3中pinia使用持久化管理

安装插件 npm install pinia pinia-plugin-persistpinia进行注册 创建index.ts import { createPinia } from pinia; //对外暴露大仓库 export default createPinia(); 在mian.ts //引入pinpa import { createApp } from vue //引入根组件 import App from ./App.vue const…

class类和style内联样式的绑定

这里的绑定其实就是v-bind的绑定,如代码所示,div后面的引号就是v-bind绑定,然后大括号将整个对象括起来,对象内先是属性,属性后接的是变量,这个变量是定义在script中的,后通过这个变量&#xff…

CAN转PN网关模块连接激光切割机的配置方法

激光切割机在工业生产中被广泛应用,而激光发射器与控制设备常以不同的协议存在两者之间,CAN总线和Profinet以各自的特点被广泛用于设备当中。本文将介绍介绍兴达易控CAN转Profinet网关模块(XD-PN_CAN20)连接 CAN 激光切割机的使用…

【算法 - 哈希表】两数之和

这里写自定义目录标题 两数之和题目解析思路解法一 :暴力枚举 依次遍历解法二 :使用哈希表来做优化 核心逻辑为什么之前的暴力枚举策略不太好用了?所以,这就是 这道题选择 固定一个数,再与其前面的数逐一对比完后&…

如何在 Ubuntu上搭建 LAMP

远程登录 Ubuntu系统环境 ssh (User)(IP) # 比如:ssh lennlouis192.168.207.128 为安全起见,建议你使用 root 登录 VPS 后创建一个具有 sudo 权限的帐号。 安装和配置 Apache 2 Apache Http Server 是一个开源的,非常流行,使用…

RAG 为什么需要文本分割(Chunking)

Picone上的一个博客,翻译过来学习一下,其中加入了一些个人的理解和调整,有兴趣更深入研究的可以看一下文章的原文。 为什么需要文本分割(Chunking) 在构建与LLM相关的应用程序时,Chunking是将大量文本分解…

anaconda命令大全

目录 查看所有虚拟环境查看某虚拟环境安装的包创建虚拟环境激活创建好的虚拟环境回到之前的环境删除创建的虚拟环境查看conda所在的位置、虚拟环境位置等信息conda修改虚拟环境所在的位置 查看所有虚拟环境 conda env list查看某虚拟环境安装的包 激活要查看的虚拟环境之后&a…

【黑马头条】 article微服务编译失败,包com.heima.model.common.article.dtos 不存在

解决办法, 将 model微服务重新打包编译下载 然后在service的pom文件里面加上版本号 这样编译就不会找不到啦

SQL注入【1】——通用漏洞/SQL注入/mysql跨库/ACCESS偏移

一、知识点: 1、脚本代码与数据库前置知识 2、Access数据库注入-简易&偏移 3、MYSQL数据库注入-简易:权限跨库 二、前置知识: (一)SQL注入漏洞产生原理分析 SQL注入产生条件:根本条件:可控变量、特定函数。 脚本代码在实现…

数学建模MATLAB绘图大全

最近快要开始一年一度的数学建模竞赛啦,接下来争取每天更一篇数学建模算法!(当然这是理想状态下),今天就先更一些MATLAB常用的绘图吧,论文赏心悦目的关键就在于丰富多彩的图,好看的图一定会成为…

MySql主从同步延迟怎么办?

文章目录 什么是MySQL主从架构主从架构的组成工作原理主从复制的步骤主从架构的优点主从架构的缺点 什么是主从同步延迟为什么会导致主从延迟主从延时的排查和解决如果发现主从数据不一致怎么办? 我们常说的业务量越来越大,I/O访问频率过高,单…

2021-06-15 protues(ISIS)脉冲发生器仿真仪表使用

缘由这个脉冲发生器怎么连线_编程语言-CSDN问答

​埃文科技受邀出席2024 “数据要素×”生态大会​

2024“数据要素”生态大会(以下简称“大会”)于2024年6月30日在河南省郑州市举办,大会主题为“加快数据要素化进程 推动新质生产力发展”。 本次大会旨在搭建高水平交流合作平台、分享前沿观点、展示先进技术、交流实践经验,共同探…

开放式蓝牙耳机推荐,开放式耳机选购小技巧大公开!

跑步是我们生活中最常见的运动方式。在跑步中佩戴耳机往往能达到“事半功倍”的效果,如何去选择一款好的运动耳机便需要精挑细选了。作为一个开放式耳机资深玩家兼马拉松参与者,我个人觉得开放式耳机是最适合跑步的了,其开放式的设计更加适合…

数据结构之算法的时间复杂度

1.时间复杂度的定义 在计算机科学中,算法的时间复杂度是一个函数,它定量描述了算法的运行时间。一个算法所花费的时间与其中语句的执行次数成正比列,算法中的基本操作的执行次数,为算法的时间复杂度 例1: 计算Func1…

鸿蒙‘ohpm‘ 不是内部或外部命令,也不是可运行的程序-解决方案

🔥 博客主页: 小韩本韩! ❤️ 感谢大家点赞👍收藏⭐评论✍️ 在鸿蒙的DevEco Studio的终端下输入 onpm -v 或者 你需要下载第三方ohpm包的时候提示‘ohpm‘ 不是内部或外部命令,也不是可运行的程序- 主要是因为我们…