Git你必须知道的知识

 一:使用Git的原因

        我们在写版本的时候,可能会谢谢改改,可能要回到之前的文件,修改之前的文件,因此总是要保持很多个文件,且书写文件名也很麻烦。git可以有一个仓库,版本库,可以保存这些文件。且很好找到,且文件容易丢失,git能解决这些缺点。

二.查看版本号

git -v命令可以查看当前git版本号。

我们进行的git操作需要在Git Bash下的git终端。

三.配置用户名和邮箱

以上命令在git终端,每次提交版本的时候就会记录身份。当推送到远程仓库时,可知道是谁提交的。当写了一次这个命令,之后生成的版本都是这个。

git config --list 获取配置,包括用户名和邮箱。再写一次上面的用户名和信息可以改变。

四:Git仓库

在git终端下 git init 能在前面的文件夹下创建.git 文件夹,该文件夹中保存着版本库和暂存区。,各个版本,以。

路径 A git init 会在A路径下生成.git文件夹。

路径A git init B 会在A/B文件夹下生成.git 文件夹。

五:git的三个区域

工作区 :开发的文件夹

暂存区:仓库内暂时存储的文件

版本库:暂存区的快照

暂存区在.git/index下。不是文件夹噢。

六.相关命令

1)git add 文件名/路径/. 工作区-》暂存区

路径A git add 文件名/路径名 会将路径下的文件名/路径下的所有的文件,放到A下的。git的暂存区。git add . 暂存所有文件,在A路径下的。

2)git commit -m "注释说明”   

暂存区-》版本库  生成版本,必须提交的暂存区与之前的提交的前一个暂存区不同,才能在分支上生成版本号。才有新的版本记录,即使第一次提交和第三次提交一样,也会生出新的版本号,和分支。

以上可以将暂存区所有的文件作为一个版本,且有以哈希生成的唯一的文件名的版本,保存之后的暂存区不会变,还是原来的文件。


 

3)输入clean回车是清空终端。和cls一个意思。

6)git restore 目标文件名(后缀噢)

可以将暂存区当中改文件内容变成工作区的文件状态。

7)git rm --cached 文件名

从暂存区中移出该文件,不会影响其他区的。如果没有暂存区,只有两个,则想这种移出,会影响版本的内容。这些文件名都必须看作是当前根目录写完整的,q/a.html要不找不到。

8)查看版本库内的记录 git log --oneline

        该命令能查看该分支下Header指针在该分支时所有提交的版本号,可以一直往前找,会包含主枝的版本号,也可包括分支的。

9)回退版本 git reset --soft 版本号

回退时,soft 暂存区和工作区的内容不变,没有删除版本号,且HEADER指针指向指定的。

10)git reflog

11)忽略文件的跟踪

git add . 会将很多可以之后版本库内拿到再生成的文件无需跟踪,传入远程仓库也麻烦。

可以在以下文件下写文件夹的名,或者后缀可以 不在放入暂存区。

七:分支

1)创建分支,可以不同分支实现不同功能,更易调节。

主分支是master。创建分支时,是在此时分支Header指针指向的版本有分支。每次切换分支时,暂存区和版本区是切走之前的工作区和暂存区。创建分支名重复无法创建。

2)分支的合并与删除

分支的删除,会将不是公共部分的版本删除。  git branch -d 分支名

分支的合并第一种情况

合并到master分支上,master分支是没有生成新的版本的。

第一种情况,历史记录是c1->c2->c3->c4->c5->c6,是在c3暂存区的基础上提交c4的暂存区文件。

分支合并第二种情况

这里其实和上一个也是一样的,都是变成一个分支,提交的历史记录是在原本暂存区的基础上进行操作提交,以及提交不看是哪个分支只看那个分支的版本号先提交。分支合并之后的分支的工作区暂存区都是版本库的版本的文件。

第三种:即使分支A与分支B不是,A从B上创建而来,依旧可以合并,以及如果是将A合并到B上,A的版本号其实不会变,依旧指向原本的版本,他的版本历史也不会变。但是B分支都是看A,B上提交的时间开始提交版本。

合并会出现这个提示

# 请输入一个提交消息来解释为什么合并是必要的,  
# 特别是当它合并一个更新的上游到一个主题分支。  
#   
# 以“#”开头的行将被忽略,空消息将中止  
# 提交。  

3)合并冲突

        合并如果分支A和分支B上会对同一个文件(原本一样的文件)的同一属性都进行不同的修改,将不会根据时间来改,会提示,叫你修改,两个修改的文件内的不能同时存在的。

疑问:分支A与分支B冲突,我们解决了冲突·,会出现让你留下那几个,但是你做出裁决之前,版本库内只有原本的版本,但是一旦修改之后提交。会将合并的版本一块放入。且即使没进行合并,只有原本的版本库,但是工作区是已经进行了合并之后的。则一开始进行这个毛肚的行为都是现在决定的。

9)将第三步的仓库名取消,git remote remove 仓库别名

10)查看所有仓库别名的推送和接收

git remote -v

八.常见命令

九.远程仓库

1)仓库的推送

。第四步才是传送Git仓库。推送一开始需要-u,进行连接,已经连接下一次再推送九可以不用了。将第三步的仓库名取消,git remote remove 仓库别名 ,-u写了也不会连接,只有第一次,且第一次之后,-u也不会出现登入账户名密码了。是将分支的版本历史记录传到远程仓库内。

 这个推送只有当仓库内的文件又,本地改了才行,但是如果仓库已经更新,但是本地没有,本地改了其他地方,这个是无法推送的,git pull --rebase origin master这个可以是先将仓库的更新合并到本地版本库,再上传,但是自己的会是更新之后的工作区。

要再次登录账户名密码做法:控制面板-》windows凭据-》普通凭据-》删除原本的账户密码。

2)仓库的克隆

将远程仓库的拷贝到本地

会映射到暂存区和版本区。再各个分支,

3)拉取代码

拉取代码和推送一样需要第三步连接,然后才能拉取代码,但是克隆可以直接进行连接然后获取。

克隆可以没有git仓库,但是拉取需要,且拉取是某一个分支,克隆是整个工作区。

10.vscode的简易操作

在vscode工具中,会出现蓝色的标记,点进去,内部文件是前一次生成版本到现在改变的文件。

push推送是此时的版本库推送,Sync...只推送该文件。拉取是所有的都拉取过来。放入版本库。克隆和拉去都会同时改变暂存区和工作区。

七:Git文件状态

U是指在工作区的新文件

A是指该区第一次有这个文件

M表示内容变化,有的情况下

空格表示 处于提交保存后/没有变化。。

不明白算了

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

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

相关文章

c语言经典测试题12

1.题1 float f[10]; // 假设这里有对f进行初始化的代码 for(int i 0; i < 10;) { if(f[i] 0) break; } 上述代码有那些缺陷&#xff08;&#xff09; A: for(int i 0; i < 10;)这一行写错了 B: f是float型数据直接做相等判断有风险 C: f[i]应该是f[i] D: 没有缺…

GamiPress与MyCred:游戏化插件

游戏化插件很受欢迎&#xff0c;可以提高用户参与度并鼓励在动态网站和内容管理环境中采取所需的操作。GamiPress和MyCred 是游戏化领域的主要参与者&#xff0c;它们提供功能丰富的解决方案&#xff0c;将游戏机制有效地融入网站。旨在吸引并留住受众的组织面临着 GamiPress 和…

什么是攻防演练,能给企业带来什么

随着互联网技术的发展和企业信息化程度的提高&#xff0c;企业面临的网络安全威胁越来越多。为了保护企业的信息安全&#xff0c;攻防演练已经成为企业安全运营中不可或缺的一部分。攻击者通常会利用各种方法来破坏企业的安全系统和数据&#xff0c;因此企业需要像攻击者一样思…

TDengine 资深研发分享解决思路,长查询不再成为系统性能瓶颈!

长查询问题指的是在数据库写入和查询并存的日常应用场景中&#xff0c;存在处理数据量大且耗时很长的查询长时间占用系统资源&#xff0c;导致写入可能被阻塞的问题。有时&#xff0c;查询代码对于资源释放函数调用的遗忘也可能以长查询问题的形式表现出来。如何在数据写入不被…

一家新店怎么快速出体验分?教大家一个简单好用的方法,建议收藏

大家好&#xff0c;我是电商花花。 在现在直播电商时代&#xff0c;抖音电商已经成为了一种新兴的商业模式&#xff0c;在抖音小店的项目上&#xff0c;店铺体验分成为了抖音小店能否成功的一个关键因素之一。 店铺的体验分越高&#xff0c;我们店铺的权重才会更高&#xff0…

基于springboot+vue的在线远程考试系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

前端如何上传图片给后台?如何传递 multipart/form-data 类型的数据?图片大小、格式检查?

1. 如何上传图片&#xff1f; 图片上传需要传二进制流&#xff0c;请求头的 content-type 类型需为 multipart/form-data&#xff0c;传递的格式如下图所示 前后端交互通常为&#xff1a; 先调用接口上传二进制流图片然后再上传表单其他内容&#xff08;第一步通常会返回后台…

Python语言基础与应用-北京大学-陈斌-P32-31-计算和控制流-上机练习:创建并调用函数-字符集合的并集-上机代码

Python语言基础与应用-北京大学-陈斌-P32-31-计算和控制流-上机练习&#xff1a;创建并调用函数-字符集合的并集-上机代码 本文环境&#xff1a; win10 Thonny4.1.4 # 函数训练字符集合的并集 def my_union(str1,str2):list1 []list2 []i 0 while i < len(str1):lis…

python_读取txt文件绘制多条曲线

读取txt文件&#xff0c;将匹配条件的多列绘制成曲线展示&#xff1a; import matplotlib.pyplot as plt import re from datetime import datetime from pylab import mplmpl.rcParams["font.sans-serif"] ["SimHei"] # 设置显示中文字体 mpl.rcParam…

[LeetCode][8]【学习日记】实现字符串转换整数 (atoi)函数

题目 8. 字符串转换整数 (atoi) 请你来实现一个 myAtoi(string s) 函数&#xff0c;使其能将字符串转换成一个 32 位有符号整数&#xff08;类似 C/C 中的 atoi 函数&#xff09;。 函数 myAtoi(string s) 的算法如下&#xff1a; 读入字符串并丢弃无用的前导空格检查下一个字…

3.7 day2 Free RTOS

使用ADC采样光敏电阻数值&#xff0c;如何根据这个数值调节LED灯亮度。2.总结DMA空闲中断接收数据的使用方法 while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */adc_value HAL_ADC_GetValue(&hadc);TIM3->CCR3 adc_value * 999 / 4095;printf("%d …

hadoop伪集群部署教程

文章目录 前言一、安装准备1. 安装条件2. 安装jdk3. 配置本节点免密登录 二、安装hadoop1. 下载并解压hadoop2. 设置环境变量2.1 设置hadoop安装目录环境变量2.2. 设置hadoop的root用户环境变量 3. 修改配置文件3.1 修改 etc/hadoop/hadoop-env.sh 文件3.2 修改 etc/hadoop/cor…

【Unity】【VR开发】用控制器摇杆改变Canvas的大小和位置

【背景】 做一个VR投屏工具,希望能够用右手控制器的摇杆,前后控制Canvas距离,左右控制Canvas大小。 【分析】 需要解决几个问题: 获取摇杆在横纵轴方向上的输入值需要通过合适的Event触发改变Canvas大小和距离的函数写具体的Canvas改变大小和距离的功能【技术选型】 VR…

eNSP | OSPF 协议来模拟和测试路由器之间的动态路由配置

一、拓扑结构的搭建 &#xff08;一&#xff09;PC1&#xff1a;IP如下图所示 注意&#xff1a; 1.网关地址一定要和所指示的接口IP相同 2.配置完PC1IP后&#xff0c;点击下面应用 &#xff08;二&#xff09;PC2&#xff1a;同pc1 二、IP地址的配置 &#xff08;一&#x…

什么是单点登录(SSO)前端用 iframe 实现单点登录 超详细说明!!

目录 什么是单点登录&#xff1f; 使用 iframe 实现单点登录 什么是单点登录&#xff1f; 单点登录的英文名叫做&#xff1a;Single Sign On&#xff08;简称SSO&#xff09;。 单点登录是一种身份验证过程&#xff0c;允许用户通过一次登录验证即可访问多个应用程序或服务…

华清远见作业第四十四天——FreeRTOS(第二天)

总结DMA空闲中断接收数据的使用方法 开启DMA接收 在主函数中以DMA空闲中断的方式接收数据的函数&#xff1a;HAL_UARTEx_ReceiveToIdle_DMA 然后调用空闲中断回调函数 切记/每次接收到数据都需要重新开启接收数据的函数。 DMA的作用 DMA是直接内存访问&#xff0c;使用DMA可…

Threejs着色器(GPU)编程——感温管网

管网,作为支撑现代城市运转的重要基础设施,是隐藏在地面之下的庞大工程网络。这些管网如同城市的血脉,负责输送各种必要的资源,如水源、热力、燃气等,同时排除废水和其他废弃物。然而,由于其位于地下,人们往往难以直接感知其存在和运行状态。为了保障这些地下管网的安全…

CLion 配置 Qt 开发环境

文章目录 CLion 配置 Qt 开发环境环境说明基本配置1. 创建Qt项目2. 设置CLion工具链3. 配置外部工具 一些问题的补充 CLion 配置 Qt 开发环境 环境说明 操作系统&#xff1a;Windows 10 CLion版本&#xff1a;2023.3.4 CMake版本&#xff1a;3.27.7 Qt6版本&#xff1a;6.6…

【SpringBoot】-- 实现本地文件/图片上传到服务器生成url地址

在java项目中你可能会有以下需求&#xff1a;用户上传本地图片&#xff0c;然后展示在网页上。本篇文章将使用阿里云oss实现上传图片到oss&#xff0c;oss生成url。 一、准备工作 首先进入阿里云&#xff0c;按如下操作 进入创建页面&#xff0c;修改读写权限为公共读 然后进…

unity学习(50)——服务器三次注册限制以及数据库化角色信息5--角色信息数据库化收尾

上一节内容结束后确实可以写入文件了&#xff0c;但还有两个问题&#xff1a; 1.一个是players.txt中&#xff0c;每次重启服务器&#xff0c;当注册新账号创建角色时&#xff0c;players.txt之前内容都会清空。 2.players.txt之前已经注册3次的账号&#xff0c;新注册的角色…