Git你必须知道的知识

news2024/10/25 1:31:04

 一:使用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表示内容变化,有的情况下

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

不明白算了

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

五、循环神经网络语言模型(RNN)

1 循环神经网络基础知识 循环核(Recurrent Cell)定义: 指在时刻 t 时的神经网络单元,用来处理当前时刻的输入和上一时刻的隐藏状态,并生成当前时刻的输出和下一时刻的隐藏状态。记忆体(Memory)定…

vue面试--9, 1 ObjectProperty与vue3Proxy区别。2 MVVM的理解 3 双向绑定原理?

1 ObjectProperty与vue3Proxy区别 2 MVVM的理解 3 双向绑定原理?

grid布局所有元素在同一行显示且等分列

目录 一、问题 二、实现方式 三、总结 tiips:如嫌繁琐,直接移步总结即可! 一、问题 1.grid布局可以通过 grid-template-columns来指定列的宽度。且可以通过repeat来指定重复的次数。但是现在的需求是:grid布局中元素的数量不确定&#…

代码随想录算法训练营第24天|77. 组合

77.组合 思路:如果暴力解,需要几个数则需要相应的for循环个数。 回溯法:把数的组合抽象成一颗树,利用递归的思想进行回溯,递归必有回溯。每次遍历到叶子节点,则存入结果。 代码&#xff1a; vector<vector<int>> result;//存放结果vector<int> path;//存放…

vue3基础教程(3)——引入ui框架iview(viewui)

博主个人微信小程序已经上线&#xff1a;【中二少年工具箱】。欢迎搜索试用 正文开始 专栏简介1. 下载iview2.更新资源3.引入插件4.运行项目 专栏简介 本系列文章由浅入深&#xff0c;从基础知识到实战开发&#xff0c;非常适合入门同学。 零基础读者也能成功由本系列文章入门…

PyTorch搭建LeNet测试集实现

搭建神经网络请看PyTorch搭建LeNet神经网络-CSDN博客 实现训练集请看PyTorch搭建LeNet训练集详细实现-CSDN博客 测试集比较简单&#xff0c;直接上代码。 代码实现 # 导包 不必多说 import torch import torchvision.transforms as transforms from PIL import Image from …

AI 应用之路:质疑汤姆猫,成为汤姆猫,超越汤姆猫

过去一年&#xff0c;我对 AI 应用的看法经历了这样一个过程&#xff1a;质疑汤姆猫&#xff0c;理解汤姆猫&#xff0c;成为汤姆猫&#xff0c;超越汤姆猫。 什么是汤姆猫&#xff1f;汤姆猫是 2010 年移动互联网早期的一款应用&#xff0c;迅速走红&#xff0c;又淡出视野。…

[vue error] TypeError: Components is not a function

问题详情 问题描述: element plus按需导入后&#xff0c;启动项目报错&#xff1a; 问题原因 unplugin-vue-components插件版本问题 查看 unplugin-vue-components插件可以发现版本太高了 问题解决 unplugin-vue-components 版本高了&#xff0c;我用的0.26.0&#xff0c…

Qt 绘制中的视口(setViewport)和窗口(setWindow)

重点 &#xff1a; 1.绘制&#xff08;QPainter&#xff09;可以设置视口&#xff0c;视口下设置窗口&#xff0c;而绘制的构件是以窗口为坐标系进行绘画。 2.先根据绘图设备的物理坐标系的矩形位置&#xff0c;设置视图视口setViewport&#xff0c;然后在以视口为区域去设置…

@ResponseStatus

目录 概述&#xff1a; 用途&#xff1a; 参数&#xff1a; 注意事项&#xff1a; 自定义异常类&#xff1a; 底层原理&#xff1a; 概述&#xff1a; 在 Spring MVC 中&#xff0c;我们有很多方法来设置 HTTP 响应的状态码其中最直接的方法&#xff1a;使用 ResponseSt…

嵌入式学习第二十六天!(网络传输:TCP编程)

TCP通信&#xff1a; 1. TCP发端&#xff1a; socket -> connect -> send -> recv -> close 2. TCP收端&#xff1a; socket -> bind -> listen -> accept -> recv -> send -> close 3. TCP需要用到的函数&#xff1a; 1. co…

记一次systemd服务启动找不到Java命令

首先systemd服务文件 /etc/systemd/system/test.service(文件简化处理了) [Unit] Descriptiontest Afternetwork.target [Service] ExecStart/opt/test/bin/test_start.sh [Install] WantedBymulti-user.target其中启动命令ExecStart指向的是一个sh启动脚本&#xff0c; 脚本内…

Win8.1 连接Wifi后开启热点

1 首先管理员运行 cmd, 输入命令&#xff0c;其中ssid无线名称&#xff0c;key密码&#xff0c;此时网络连接出现 本地连接 2. netsh wlan set hostednetwork modeallow ssidwahahaad key12345678 netsh wlan start hostednetwork 2 找到当前连接的 WLAN, 设置共享。 3 先停止…

第18课:让客户看了就满意的商业软文是如何练成的?

选品上的注意事项 结合影视热点 通过追影视热点&#xff0c;找出能够跟产品贴合的点。在前面先道出痛点&#xff0c;痛点越深刻&#xff0c;用户对产品的过度才会更自然。 用户体验 真实体验才能真正写得出来。 结合时事热点 用的少&#xff0c;赶上了用就会效果很好&#xf…

基于51单片机的万年历-心率脉搏计仿真及源程序-保存心率记录

基于51单片机的万年历-心率脉搏计仿真及源程序-保存心率记录 一、系统方案 1、本设计采用51单片机作为主控器。 2、液晶1602显示。 3、DS1302万年历&#xff0c;测心率&#xff0c;按键设置万年历、心率上下限&#xff0c;不在范围蜂鸣器报警。 4、心率测量值保存3组数据。 二、…

文件另存为保存:无法在未启用宏的工作簿中保存以下功能,

Wb.DoNotPromptForConvert true; Wb.Application.DisplayAlerts false;

Java中super关键字作用及解析

在 Java 中&#xff0c;super关键字主要有以下作用&#xff1a; 在子类构造方法中调用父类的构造方法&#xff1a;使用super关键字可以在子类的构造方法中显式调用父类的构造方法&#xff0c;以便继承父类的属性和行为。语法如下&#xff1a;这样可以确保父类的构造方法被正确…

【2】SLoRa: A Systematic Framework for Synergic Interference Resilience In LPWAN

这一篇基于上一篇文章,仅记录我遗忘的知识点&#xff1b; 以较低的成本提供可靠的符号恢复&#xff1b; 符号恢复【振幅和频率】 为了避免环境噪声并提高可靠性&#xff0c;我们采用信号预处理和窗口滑动算法来检测幅度变化点&#xff1b; 信号处理&#xff1a;归一化和指数化…

项目申报书引言部分

文献引用方式&#xff1a; 张三 等&#xff0c;2024&#xff1b; Zhang S et al.,2015&#xff1b; &#xff08;中文是中文逗号&#xff0c;英文是英文逗号&#xff09;

专题一 - 双指针 - leetcode 18. 四数之和 - 中等难度

leetcode 18. 四数之和 leetcode 18. 四数之和 | 中等1. 题目详情1. 原题链接2. 基础框架 2. 解题思路1. 题目分析2. 算法原理3. 时间复杂度 3. 代码实现 leetcode 18. 四数之和 | 中等 1. 题目详情 给你一个由 n 个整数组成的数组 nums &#xff0c;和一个目标值 target 。请…