visual studio 下的git
我这个是看视频笔记 YouTube : https://www.youtube.com/watch?v=gkDASVE_Hdg
主要内容是:建立git 库, 保存commit, 建立分支 create branch, 合并分支merge branch,比较 diff,Revert ,history,delete branch, rename branch, tips and tricks uncommited file
本文不介绍github,先在vs2019下,后在vs2022运行这个测试。
1:建立一个工程,要做这个学习测试,首先需要做个工程。我开始用的python 工程,后来改用c++,你可以选你熟悉的语言建立你的工程做这个测试。原视频用的asp的工程,我的运行有点问题,我就选用了一个c++ 的工程。 工程名为 vs-git-learning,模板选用hello。会有一个c++ 文件,名字为vs-git-learning.cpp。
文件内容如下;
// vs-git-learning.cpp : This file contains the 'main' function. Program execution begins and ends there.
//#include <iostream>int main()
{std::cout << "Hello World!\n";
}// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu
运行会显示hello
2:建立git库:
菜单: git ->create git repository 对话框出现,选择local only 然后create
对话框出现还可以用其他方式: 在git changes 里点击 create git repository
在底部 add source control
建立成功后,下方状态条会出现项目名,还
有分支名,开始为main
还有view->git repository 可以看到库,还有.gitignore文件等
我在想看看当前git库里保存的文件,用以下方法:
menu->git ->open in command console
然后输入 git ls-files
就能看到库里文件内容,如下:
可以看到中间文件和exe等都已经ignore了,就是已经设置好了这部分。
3:Create a code branch & make changes
操作是: Menu->Git->New branch得到如下对话框:
新分支的名字是 change-title-text
操作完后下面状态条显示分支为 change-title-text
还有多种方法做这个操作,git change里,状态条的分支处。
下面我们对输出内容改一下, hello=> hello first modified
界面如下:
打开Git Change 框,如下:
在这个标记为M 的文件,鼠标移动到那有undo , +, 我试了一下undo, 结果取消当时做的修改,还回不去。+ 的作用就是把文件移到staged 。 我这不做什么,在commit all 上方输入commit 内容,然后Commit All
现在我们有2个不同的分支, 在状态条选择不同的分支,vs-git-learning.cpp的内容就相应改变。
4:Merge branches 合并分支
现在新建的分支change-title-text 内容修改好了,想合并到main 分支,主分支。
在下面状态条选择main 分支,然后 menu->Git->Manage Branch
鼠标右键change-title-text 分支,然后就可以选择 Merge change-title-text to main,如下:
现在合并完成。打开.cpp文件,现在是first modified 这个版本了。
5:Code comparison 代码比较
再新建一个分支:code-comparison 还是基于当前的main 版本。
再次修改代码,改为 Hello second Modified
现在我们要做对比修改前的版本,可以在Git change 里找到代码文件,右键然后 compare with unmodified 或者在solution explore 里找到代码文件,然后右键,Git->compare with unmodified
有很多改变的话,可以看到那有一个竖条和横条移动。
这里也有view history 也就是看历史版本,但我没找到怎么比较历史版本。
6:Revert code commits. Or, how to fix a screwup :-)
继续上面的code comparison 分支, 把这个修改提交为second modified。
再假设这个提交的代码有问题,我要回到first modified 版本。
menu->Git->View Branch History
选择你想要revert 的版本,右键 选择Revert
Revert后在branch history 里显示 Revert 版本
7:Delete a branch 删除分支
Menu->Git->Manage Branch
找到要删除的分支,然后右键 Delete 就删除了。
但你在当前分支,Delete 是灰色的,就是不能删除。
在这选择当前分支也很容易的,选中分支,然后右键 Check Out 就好了。当然下面状态条上也可选择。
8:Tips & Tricks: working with uncommitted files
新建一个分支名字为 uncommited-files
建好之后给项目添加一个文件,比如 readme.txt ,写一点内容。 没有commit, 转到main 分支, 这个文件还是存在。
转到uncommited-files
然后commit 这个文件
转到main 分支, 这个文件这个时候消失了。
9:Rename master to main
https://git-scm.com/ git 官网,点document 进入
https://git-scm.com/doc 点book进入
Git - Book 点first time setup
Git - First-Time Git Setup
下拉到 Your Identify
可以看到
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
设置你的名字和email
再下拉,看到 Your default branch name
$ git config --global init.defaultBranch main
这个就是设置缺省分支名字的设置
介绍到此,下面可能需要介绍github。
相关文章:

visual studio 下的git
我这个是看视频笔记 YouTube : https://www.youtube.com/watch?vgkDASVE_Hdg 主要内容是:建立git 库, 保存commit, 建立分支 create branch, 合并分支merge branch,比较 diff,Revert ,history,delete branch, rename branch, t…...

[架构之路-249]:目标系统 - 设计方法 - 软件工程 - 需求工程- 需求开发:如何用图形表达需求,结构化方法的需求分析
目录 一、概述 二、数据模型:E-R图/实体关系图(数据单元之间的结构关系) 三、功能模型:数据流图DFD(逻辑运算,包括输入和输出,实体之间的关系):输入》处理 》 输出 四…...

Django之中间件与CSRF_TOKEN
文章目录 一、什么是中间件二、中间件有什么用三、Django自定义中间件中间件中主要方法及作用创建自定义中间件的步骤:process_request与process_response方法process_view方法process_exceptionprocess_template_response(不常用) 四、CSRF_…...

柑橘病害数据集(四类图像分类,没有打yolo标签)
1.文件夹分为训练集和测试集 在这个数据集中,有一类是新鲜柑橘,还有另外三种疾病,溃疡病、黑斑病和绿化病。 2.train文件夹 2.1.blackspot(黑斑病) 文件夹 206张照片 2.2.canker(溃疡病) 文…...
面向对象三大特性:封装,继承,多态;多态的机制;以及多态是如何实现的,实现的必要条件
文章目录 面向对象三大特性2.1.1 封装 继承 多态2.1.2 其中Java 面向对象编程三大特性:封装 继承 多态2.1.3 关于继承如下 3 点请记住:2.1.4 什么是多态机制?Java语言是如何实现多态的?2.1.5 Java实现多态有三个必要条件ÿ…...

Unity-类-Vector
Vector矢量 是一个基本的数学概念,它允许你描述方向和大小。在游戏和应用中,矢量通常用于描述一些基本属性,如角色的位置、物体移动的速度或两个物体之间的距离。 矢量算术是计算机编程很多方面(如图形、物理和动画)的基础,深入了解这一主题对于充分发挥 Unity 的功能很有…...

【腾讯云云上实验室】向量数据库相亲社交应用实践
快速入口 👉向量数据库_大模型知识库_向量数据存储_向量数据检索- 腾讯云 (tencent.com) 文章目录 前言1. 向量数据库概念及原理1.1 向量数据库概念1.2 向量数据库核心原理1.3 向量数据库优缺点1.4 向量数据库与传统数据库的区别 2. 腾讯云向量数据库的基本特性及优…...
SpringCloud Netflix 知识点汇总
目录 SpringCloud概念:1、什么是springcloud?2、SpringCloud有哪些核心组件?3、什么是分布式?4、什么是微服务?5、分布式+微服务+集群6、微服务之间是如何独立通讯的Eureka1、什么是Eureka ?2、为什么使用Eureka?3、什么是Eureka自我保护机制4、Zookeeper 和 Eureka 区别…...

IO口电压下降那么多是怎么回事??
前几天一个工程师向我反馈他测得如下电路MCU IO口的电压不是3.3V,只有2V多。 IO配置的是输入功能,无上下拉。最初我不太相信这个结果,后来自己用万用表实际测量了下,还真是这个结果 这是咋回事呢?不应该电压就是3.3V吗…...
NLP实践——LLM生成过程中防止重复循环
NLP实践——LLM生成过程中防止重复 1. 准备工作2. 问题分析3. 创建processor3.1 防止重复生成的processor3.2 防止数字无规则循环的processor 4. 使用 本文介绍如何使用LogitsProcessor避免大模型在生成过程中出现重复的问题。 1. 准备工作 首先实例化一个大模型,…...
用苹果签名免费获取Xcode
使用苹果企业签名免费获取Xcode: 打开Xcode。连接iOS设备到Mac。选择Window→Devices and Simulators。选择该设备。将IPA文件拖到“Installed Apps”的列表框中即可安装。使用Cydia Impactor(可以在网上找到相关下载链接): 打开…...

python-opencv在图片中绘制各种图形
python-opencv在图片中绘制各种图形 1.绘制直线 2.绘制矩形 3.绘制圆 4.绘制椭圆 5.绘制多边形 6.嵌入文字 实现代码都在下面了,代码中参数做了简单注释 import copy import math import matplotlib.pyplot as plt import matplotlib as mpl import numpy a…...
用户增长常用的ChatGPT通用提示词模板
用户画像:请帮助我了解目标用户的特点和需求,包括年龄、性别、职业、兴趣等方面的内容,以便我能够更好地定位和推广。 用户获取渠道:请帮助我了解用户主要从哪些渠道获取我们的产品或服务,以便我能够更好地优化获取渠…...

用友NC word.docx接口存在任意文件读取漏洞 附POC
@[toc] 用友NC word.docx接口存在任意文件读取漏洞 附POC 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使…...

小程序中的大道理之四--单元测试
在讨论领域模型之前, 先继续说下关于测试方面的内容, 前面为了集中讨论相应主题而对此作了推迟, 下面先补上关于测试方面的. 测试覆盖(Coverage) 先回到之前的一些步骤上, 假设我们现在写好了 getPattern 方法, 而 getLineContent 还处于 TODO 状态, 如下: public String ge…...

分布式篇---第六篇
系列文章目录 文章目录 系列文章目录前言一、说说什么是漏桶算法二、说说什么是令牌桶算法三、数据库如何处理海量数据?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码…...

C#,《小白学程序》第十八课:随机数(Random)第五,方差及标准方差(标准差)的计算方法与代码
1 文本格式 /// <summary> /// 《小白学程序》第十八课:随机数(Random)第五,方差及标准方差(标准差)的计算方法与代码 /// 方差 SUM((Xi - X)^2 ) / n i0...n-1 X Average of X[i] ///…...

【版本管理 | Git 】Git最佳实践系列(一) —— LFS .gitignore 最佳实践,确定不来看看?
🤵♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…...

【Linux】驱动程序同步和异步通知方式
一、应用程序APP,访问驱动程序/dev/input/enent1流程: 假设用户程序直接访问 /dev/input/event0 设备节点,或者使用 tslib 访问设备节点,数据的流程如下: APP 发起读操作,若无数据则休眠;用户操…...

移动机器人路径规划(七)--- 基于MDP的路径规划MDP-Based Planning
目录 1 什么是MDP-Based Planning 2 worst-case analysis for nondeterministic model 3 Expected Cost Planning 4 Real Time Dynamic Programming(RTDP) 1 什么是MDP-Based Planning 之前我们从起点到终点存在很多可执行路径,我们可以…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...

Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...

USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...