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。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鼠标拖拽问题,不选中文本不触发单击事件

文章目录 1. 为什么鼠标单击的时候触发了mousemove事件&#xff1f;明明鼠标没有移动2. 鼠标拖拽元素怎么能不触发单击事件&#xff1f;怎么处理鼠标在元素内的相对定位&#xff0c;而不是每次定位到左上角&#xff1f;方式一&#xff1a;拖拽的元素没有注册click监听就不会触发…

【SpringCloud】微服务架构设计模式

一、聚合气微服务设计模式 最常见、最简单的设计模式&#xff0c;效果如图所示&#xff1a; 聚合器调用多个服务实现应用程序所需的功能 它可以是一个简单的 Web 页面&#xff0c;将检索到的数据进行处理并展示&#xff0c;也可以是一个更高层次的组合微服务&#xff0c;对…

日本服务器访问速度和带宽有没有直接关系?

​  对于许多网站和应用程序来说&#xff0c;服务器的访问速度是至关重要的。用户希望能够快速加载页面、上传和下载文件&#xff0c;而这些都与服务器的带宽有关。那么&#xff0c;日本服务器的访问速度和带宽之间是否存在直接关系呢? 我们需要了解什么是带宽。带宽是指网络…

VINS-MONO代码解读----vins_estimator(鲁棒初始化部分)

0. 前言 整个初始化部分的pipeline如下所示&#xff0c;参照之前的博客&#xff0c;接下来根据代码一步步讲解。 1. 旋转约束标定旋转外参Rbc 上回讲了processImage中addFeatureCheckParallax完成了对KF的筛选&#xff0c;我们知道了2nd是否为KF&#xff0c;接下来是初始化…

一键填充字幕——Arctime pro

之前的博客中&#xff0c;我们聊到了PR这款专业的视频制作软件&#xff0c;但是pr有许多的功能需要搭配使用&#xff0c;相信不少小伙伴在剪辑视频时会发现一个致命的问题&#xff0c;就是字幕编写。伴随着人们对字幕需求的逐渐增加&#xff0c;这款软件便应运而生~ 相信应该有…

实时LCM的ImgPilot搭建部署

ImgPilot是具有实时潜在一致性模型&#xff08;LCM&#xff09;功能的图像试点 下载源码 GitHub - leptonai/imgpilot: Image pilot with the power of Real-Time Latent Consistency Modelhttps://github.com/leptonai/imgpilot安装前端web cd imgpilot npm install 安装…

UML建模图文详解教程01——Enterprise Architect的安装与使用

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl Enterprise Architect概述 官方网站&#xff1a;https://www.sparxsystems.cn/products/ea/&#xff1b;图示如下&#xff1a; Enterprise Architect是一个全功能的、基于…

AI动画制作 StableDiffusion

1.brew -v 2.安装爬虫项目包所必需的python和git等系列系统支持部件 brew install cmake protobuf rust python3.10 git wget pod --version brew link --overwrite cocoapods 3.从github网站克隆stable-diffusion-webui爬虫项目包至本地 ssh-add /Users/haijunyan/.ssh/id_rs…

Spring Boot Actuator 2.2.5 基本使用

1. pom文件 &#xff0c;添加 Actuator 依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> 2.application.properties 文件中添加以下配置 …

深度学习第1天:深度学习入门-Keras与典型神经网络结构

☁️主页 Nowl &#x1f525;专栏《机器学习实战》 《机器学习》 &#x1f4d1;君子坐而论道&#xff0c;少年起而行之 文章目录 神经网络 介绍 结构 基本要素 Keras 介绍 导入 定义网络 模型训练 前馈神经网络 特点 常见类型 代码示例 反馈神经网络 特点 …

【matlab程序】matlab利用工具包nctool读取grib2、nc、opendaf、hdf5、hdf4等格式数据

【matlab程序】matlab利用工具包nctool读取grib2、nc、opendaf、hdf5、hdf4等格式数据 引用&#xff1a; B. Schlining, R. Signell, A. Crosby, nctoolbox (2009), Github repository, https://github.com/nctoolbox/nctoolbox Brief summary: nctoolbox is a Matlab toolbox…

远程安全访问JumpServer:使用cpolar内网穿透搭建固定公网地址

文章目录 前言1. 安装Jump server2. 本地访问jump server3. 安装 cpolar内网穿透软件4. 配置Jump server公网访问地址5. 公网远程访问Jump server6. 固定Jump server公网地址 前言 JumpServer 是广受欢迎的开源堡垒机&#xff0c;是符合 4A 规范的专业运维安全审计系统。JumpS…