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

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 主要内容是&#xff1a;建立git 库&#xff0c; 保存commit&#xff0c; 建立分支 create branch, 合并分支merge branch,比较 diff&#xff0c;Revert ,history,delete branch, rename branch, t…...

[架构之路-249]:目标系统 - 设计方法 - 软件工程 - 需求工程- 需求开发:如何用图形表达需求,结构化方法的需求分析

目录 一、概述 二、数据模型&#xff1a;E-R图/实体关系图&#xff08;数据单元之间的结构关系&#xff09; 三、功能模型&#xff1a;数据流图DFD&#xff08;逻辑运算&#xff0c;包括输入和输出&#xff0c;实体之间的关系&#xff09;&#xff1a;输入》处理 》 输出 四…...

Django之中间件与CSRF_TOKEN

文章目录 一、什么是中间件二、中间件有什么用三、Django自定义中间件中间件中主要方法及作用创建自定义中间件的步骤&#xff1a;process_request与process_response方法process_view方法process_exceptionprocess_template_response&#xff08;不常用&#xff09; 四、CSRF_…...

柑橘病害数据集(四类图像分类,没有打yolo标签)

1.文件夹分为训练集和测试集 在这个数据集中&#xff0c;有一类是新鲜柑橘&#xff0c;还有另外三种疾病&#xff0c;溃疡病、黑斑病和绿化病。 2.train文件夹 2.1.blackspot&#xff08;黑斑病&#xff09; 文件夹 206张照片 2.2.canker&#xff08;溃疡病&#xff09; 文…...

面向对象三大特性:封装,继承,多态;多态的机制;以及多态是如何实现的,实现的必要条件

文章目录 面向对象三大特性2.1.1 封装 继承 多态2.1.2 其中Java 面向对象编程三大特性&#xff1a;封装 继承 多态2.1.3 关于继承如下 3 点请记住&#xff1a;2.1.4 什么是多态机制&#xff1f;Java语言是如何实现多态的&#xff1f;2.1.5 Java实现多态有三个必要条件&#xff…...

Unity-类-Vector

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

【腾讯云云上实验室】向量数据库相亲社交应用实践

快速入口 &#x1f449;向量数据库_大模型知识库_向量数据存储_向量数据检索- 腾讯云 (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&#xff0c;只有2V多。 IO配置的是输入功能&#xff0c;无上下拉。最初我不太相信这个结果&#xff0c;后来自己用万用表实际测量了下&#xff0c;还真是这个结果 这是咋回事呢&#xff1f;不应该电压就是3.3V吗…...

NLP实践——LLM生成过程中防止重复循环

NLP实践——LLM生成过程中防止重复 1. 准备工作2. 问题分析3. 创建processor3.1 防止重复生成的processor3.2 防止数字无规则循环的processor 4. 使用 本文介绍如何使用LogitsProcessor避免大模型在生成过程中出现重复的问题。 1. 准备工作 首先实例化一个大模型&#xff0c;…...

用苹果签名免费获取Xcode

使用苹果企业签名免费获取Xcode&#xff1a; 打开Xcode。连接iOS设备到Mac。选择Window→Devices and Simulators。选择该设备。将IPA文件拖到“Installed Apps”的列表框中即可安装。使用Cydia Impactor&#xff08;可以在网上找到相关下载链接&#xff09;&#xff1a; 打开…...

python-opencv在图片中绘制各种图形

python-opencv在图片中绘制各种图形 1.绘制直线 2.绘制矩形 3.绘制圆 4.绘制椭圆 5.绘制多边形 6.嵌入文字 实现代码都在下面了&#xff0c;代码中参数做了简单注释 import copy import math import matplotlib.pyplot as plt import matplotlib as mpl import numpy a…...

用户增长常用的ChatGPT通用提示词模板

用户画像&#xff1a;请帮助我了解目标用户的特点和需求&#xff0c;包括年龄、性别、职业、兴趣等方面的内容&#xff0c;以便我能够更好地定位和推广。 用户获取渠道&#xff1a;请帮助我了解用户主要从哪些渠道获取我们的产品或服务&#xff0c;以便我能够更好地优化获取渠…...

用友NC word.docx接口存在任意文件读取漏洞 附POC

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

小程序中的大道理之四--单元测试

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

分布式篇---第六篇

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

C#,《小白学程序》第十八课:随机数(Random)第五,方差及标准方差(标准差)的计算方法与代码

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

【版本管理 | Git 】Git最佳实践系列(一) —— LFS .gitignore 最佳实践,确定不来看看?

&#x1f935;‍♂️ 个人主页: AI_magician &#x1f4e1;主页地址&#xff1a; 作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域优质创作者。 &#x1f468;‍&#x1f4bb;景愿&#xff1a;旨在于能和更多的热爱计算机的伙伴一起成长&#xff01;&#xff01;&…...

【Linux】驱动程序同步和异步通知方式

一、应用程序APP&#xff0c;访问驱动程序/dev/input/enent1流程&#xff1a; 假设用户程序直接访问 /dev/input/event0 设备节点&#xff0c;或者使用 tslib 访问设备节点&#xff0c;数据的流程如下&#xff1a; APP 发起读操作&#xff0c;若无数据则休眠&#xff1b;用户操…...

移动机器人路径规划(七)--- 基于MDP的路径规划MDP-Based Planning

目录 1 什么是MDP-Based Planning 2 worst-case analysis for nondeterministic model 3 Expected Cost Planning 4 Real Time Dynamic Programming&#xff08;RTDP&#xff09; 1 什么是MDP-Based Planning 之前我们从起点到终点存在很多可执行路径&#xff0c;我们可以…...

蓝桥杯STM32G431RBT6开发板:从CubeMX配置到Keil5工程搭建全流程(避坑指南)

蓝桥杯STM32G431RBT6开发实战&#xff1a;从CubeMX配置到Keil5工程深度解析 第一次接触蓝桥杯嵌入式赛道的同学&#xff0c;往往会在开发环境搭建阶段遇到各种"玄学问题"——时钟配置报错、代码无法下载、工程文件莫名丢失。这些问题看似简单&#xff0c;却可能让新手…...

第9天:客户分层(下):构建动态的标签体系

核心观点&#xff1a;动态的客户分层依赖于一个设计精良的标签体系。标签是客户画像的基石&#xff0c;是实现一切个性化服务的基础。关键维度&#xff1a;&#xff1a;记录客户通过哪个渠道进入私域。&#xff1a;追踪客户在私域内的关键行为&#xff0c;如浏览、点击、参与讨…...

国家电网投标人的福音:一个专治ECP压缩包痛点的轻量工具

你是不是也受够了&#xff1f; 每天蹲守国家电网ECP平台&#xff0c;点开标包看到的却是层层嵌套的压缩包——.zip 里套 .zip&#xff0c;.zip里混着 .doc 和 .docx和.xlsx .xls。想判断一个项目能不能投&#xff0c;光下载解压就要花一小时。更头疼的是&#xff0c;市面上 乙方…...

告别复杂编译!vLLM-v0.17.1镜像一键部署,小白也能快速搭建LLM服务

告别复杂编译&#xff01;vLLM-v0.17.1镜像一键部署&#xff0c;小白也能快速搭建LLM服务 1. vLLM框架简介 vLLM是一个专为大型语言模型(LLM)设计的高性能推理和服务库&#xff0c;最初由加州大学伯克利分校的天空计算实验室开发&#xff0c;现已发展成为社区驱动的开源项目。…...

如何快速上手SZT-bigdata:初学者完整指南

如何快速上手SZT-bigdata&#xff1a;初学者完整指南 【免费下载链接】SZT-bigdata 深圳地铁大数据客流分析系统&#x1f687;&#x1f684;&#x1f31f; 项目地址: https://gitcode.com/gh_mirrors/sz/SZT-bigdata SZT-bigdata是一个功能强大的深圳地铁大数据客流分析…...

Java学习笔记_Day30(File)

FileFile对象就表示一个路径&#xff0c;可以是文件的路径&#xff0c;也可以是文件夹的路径这个路径可以是存在的&#xff0c;也可以是不存在的三种构造方法常见的成员方法1.判断和获取2.创建和删除3.获取并遍历当调用者File表示的路径不存在时&#xff0c;返回null当调用者Fi…...

s2-pro保姆级教程:参考音频文本填写规范与常见错误规避

s2-pro保姆级教程&#xff1a;参考音频文本填写规范与常见错误规避 1. 认识s2-pro语音合成工具 s2-pro是Fish Audio开源的专业级语音合成模型镜像&#xff0c;它能将文字转换成自然流畅的语音。与其他语音合成工具不同&#xff0c;它有一个独特功能&#xff1a;可以通过上传一…...

VSCode插件开发:Hunyuan-MT Pro翻译工具扩展

VSCode插件开发&#xff1a;Hunyuan-MT Pro翻译工具扩展 1. 引言 在日常开发工作中&#xff0c;我们经常需要查阅英文文档、理解错误信息或者与海外团队沟通。频繁切换浏览器进行翻译不仅打断编码思路&#xff0c;还严重影响开发效率。想象一下&#xff0c;当你正在专注编写代…...

PP-DocLayoutV3与JavaScript交互:实现浏览器内文档实时预览与分析

PP-DocLayoutV3与JavaScript交互&#xff1a;实现浏览器内文档实时预览与分析 你有没有遇到过这样的场景&#xff1f;用户上传了一份几十页的PDF报告&#xff0c;你需要在网页上快速预览内容&#xff0c;并且自动识别出里面的标题、段落、表格和图片位置。传统做法是让用户下载…...

第9章 函数-9.7 函数嵌套

Python支持函数嵌套&#xff0c;函数嵌套指的是在当前函数内再创建另外一个函数。函数在进行嵌套之后&#xff0c;需要注意4点&#xff0c;一是内层函数可以访问外层函数中的所有变量&#xff0c;但不能修改外层函数中该变量的值&#xff1b;二是外层函数可以访问内层函数中的全…...