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

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

不明白算了

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

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

相关文章

mysql数据库入门到精通-Windows版本mysql安装(1)

文章目录 一、数据库介绍1.1、数据库概念1.2、为什么要使用数据库1.3、关系型数据库与非关系型数据库1.4、数据库术语1.5、mysql下载及地址 二、安装mysql数据库三、mysql的管理工具3.1、mysql command line client使用 四、SQL结构化查询语言4.1、SQL概述4.2、SQL发展4.3、SQL…

【STM32】HAL库 CubeMX教程---基本定时器 定时

目录 一、基本定时器的作用 二、常用型号的TIM时钟频率 三、CubeMX配置 四、编写执行代码 实验目标: 通过CUbeMXHAL,配置TIM6,1s中断一次,闪烁LED。 一、基本定时器的作用 基本定时器,主要用于实现定时和计数功能…

PEIS源码 健康体检中心源码 C/S

目录 一、系统概述 二、系统开发环境 三、系统功能 检前管理 检中管理 检后管理 设备对接-PACS 设备对接-彩超 LIS-结果录入、审核、外送结果自动导入 一、系统概述 体检系统,是专为体检中心/医院体检科等体检机构,专门开发的全流程管理系…

什么样的项目适合Web自动化测试

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

传输请求(同服务器不同Client 不同服务器)

Landscape: 1. 同服务器不同Client间传输 100配置完需要在UT环境- DEV200测试的场合: 100生成的传输请求无需释放,直接在DEV200 Tcode SCC1接收即可(S4 hana: SCC1N)输入传输请求号,指定目标…

力扣刷题Days11第二题--141. 环形链表(js)

目录 1,题目 2,代码 2.1快慢指针 2.2,哈希表 3,学习与总结 3.1自己尝试写快慢指针 反思 1,题目 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达&…

【Leetcode】3028.边界上的蚂蚁

题目描述 思路 题目中要求我们返回 蚂蚁返回到边界的次数。简单来想,就是蚂蚁原来的位置的一维坐标为0,然后经过,若干次移动,统计有几次坐标再次变为0的个数。 我们利用前缀和,像定义一个数组,算出前缀和数…

腾讯云学生服务器详细介绍_学生服务器价格_学生机申请流程

2024年腾讯云学生服务器优惠活动「云校园」,学生服务器优惠价格:轻量应用服务器2核2G学生价30元3个月、58元6个月、112元一年,轻量应用服务器4核8G配置191.1元3个月、352.8元6个月、646.8元一年,CVM云服务器2核4G配置842.4元一年&…

【网络原理】初识网络原理

目录 🎄网络发展史🌸独立模式🌸网络互连🌻局域网LAN🌼基于网线直连🌼基于集线器组建🌼基于交换机组建🌼基于交换机和路由器组建 🌻广域网WAN 🌳网络通信基础&…

【设计模式 01】单例模式

单例模式,是一种创建型设计模式,他的核心思想是保证一个类只有一个实例(即,在整个应用程序中,只存在该类的一个实例对象,而不是创建多个相同类型的对象),并提供一个全局访问点来访问…

【操作系统概念】 第7章:死锁

文章目录 0.前言7.1 系统模型7.2 死锁特征7.2.1 必要条件7.2.2 资源分配图 7.3 死锁处理方法7.4 死锁预防(deadlock prevention)7.4.1 互斥7.4.2 占有并等待7.4.3 非抢占7.4.4 循环等待 7.5 死锁避免(deadlock-avoidance)7.5.1 安…

[数据结构初阶]队列

鼠鼠我呀,今天写一个基于C语言关于队列的博客,如果有兴趣的读者老爷可以抽空看看,很希望的到各位老爷观点和点评捏! 在此今日,也祝各位小姐姐女生节快乐啊,愿笑容依旧灿烂如初阳,勇气与童真永不…