个人git笔记,持续学习并补充填写

git --version //查看git版本信息
sudo yum remove git -y //卸载gitsudo yum install git -y//安装git

该文章仅仅是为了方便个人日常观看,有些地方没有做详细介绍

git init

创建本地仓库(最好先创建一个目录,在该目录下输入指令创建git仓库),创建完成后该目录下会存在一个.git文件

仓库配置

git config user.name "xxxxx"      //设置用户名称
git config user.email "xxx@.xxx"  //设置email地址
git config -l                     //查看当前仓库配置git config --unset user.name      //删除用户名
git config --unset user.email     //删除emailgit config --global color.ur true  //打开git的默认颜色配置
git config --global color.ur false //关闭颜色配置

配置时可以加上--global选项,加上后设置的具有全局属性,该机器下的所有仓库都是用该设置,在删除全局属性时也要加上--global

//配置全局信息
git config --global user.name "xxx"
git config --global user.email "xxxx"//删除全局配置
git config --global --unset user.name
git config --global --unset user.email

仓库信息

工作区:仓库目录下的除.git文件之外的文件都处在工作区

暂存区:将工作区的文件进行git add filename 后,处在工作区的filename就会提交到暂存区,对应.git文件下的index。

版本库:输入commit -m "xxxxxx" 后,会将暂存区的内容提交到版本库。此时在.git目录下还会有一个objects,该目录下的内容都是一个个的commit对象。

 查看信息

git log                   //查看commit信息
git log --pretty=oneline  //更加优雅的显示信息

 git 追踪管理的是修改(增删查改)。

git status                //查看仓库状态,上一次提交到现在是否发生修改
git diff filename         //查看暂存区和工作区filename文件的差异
git diff HEAD -- filename //查看版本库和工作区filename文件的差异git cat-file -p id        //查看commit id索引的内容//工作区的内容修改完后,如果想提交到版本库要进行add commit相关操作 
git add filename       //将filename添加到暂存区
git commit -m "xxx"    //将暂存区的内容提交到版本库

版本回退

git reset --soft xxxxx    //只回退版本库的内容,回退到指定commit的id索引处
git reset --mixed xxxx    //回退版本库和暂存区的内容,回退到指定id,该选项为默认选项
git reset --hard xxxx     //工作区、暂存区、版本库的内容都进行回退,慎用//回退后git log也随之回退git reflog                //记录本地每一次的提交记录,可以根据里查看id,帮助回退

撤销操作

//只撤回工作区的内容
git checkout -- filename //撤销当前工作区的filename的内容,保持与版本库一致(当修改代码,又后悔了后想回到修改之前时使用)//撤回工作区和暂存区的内容(即修改文件后,只进行了add)
git reset --mixed HEAD    //HEAD:当前版本库的内容,这里先将暂存区回退到当前版本库的内容//HEAD^:上一个版本库//HEAD^^:上两个版本库的内容...
git checkout -- filename  // 然后再撤回工作区的内容//撤回工作区、暂存区、版本库的内容
git reset --hard xxx(HEAD版本或者其它版本)      //使用--hard即可实现

删除版本库的文件

1、rm指令删除文件,然后git add 文件名 ,再git commit -m "xxxx"

2、git rm filename  ,然后再git commit -m "xxxxx"

git分支管理

创建/切换/删除 分支

.git中HEAD指针指向master分支,master中存放最近提交一次的commit索引。

git branch            //查看当前库的分支   *表示当前所在分支
git branch xxx        //创建xxx分支
git checkout xxx      //切换到xxx分支(即修改HEAD指向,xxx分支指向最新一次commit)
git merge xxx         //将xxx分支合并
//利用分支操作比直接使用master分支更加安全git branch -d xxx     //删除xxx分支

分支冲突

git checkout -b xxx //新建xxx分支,并切换到该分支

场景:

当前master中存在一个文件readme,它的版本库内容为:aaa

此时我我们创建并切换到一个新分支dev,在该分支下修改工作区的readme的内容,新增一行bbb,并提交到版本库。

此时再切换回master分支,然后对master下的readme进行修改,新增一行ccc,然后再提交到版本库。此时进行合并,则会发生错误。

git log --graph --abbrev-commit   //图形化形式显示分支信息

分支的切换实际上就是更改HEAD的指向,并将分支的内容修改成最近一次提交的commit id。所以很高效。


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

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

相关文章

TI AM64x工业核心板规格书(双核ARM Cortex-A53 + 单/四核Cortex-R5F + 单核Cortex-M4F,主频1GHz)

1 核心板简介 创龙科技SOM-TL64x是一款基于TI Sitara系列AM64x双核ARM Cortex-A53 单/四核Cortex-R5F 单核Cortex-M4F设计的多核工业级核心板,通过工业级B2B连接器引出5x TSN Ethernet、9x UART、2x CAN-FD、GPMC、PCIe/USB 3.1等接口。核心板经过专业的PCB Layo…

行为型模式--备忘录模式

目录 概述 结构 案例实现 “白箱”备忘录模式 总结: “黑箱”备忘录模式 优缺点 优点: 缺点: 使用场景 概述 又叫快照模式,在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这…

举例说明什么是卷积计算

卷积计算是一种数学运算,主要用于信号处理、图像处理等领域。它涉及到两个函数(通常称为信号和核)的互相关运算。在图像处理中,卷积计算通常用于实现图像的平滑、锐化、边缘检测等操作。 以图像处理为例,我们可以用一个…

C++数据结构笔记(4)企业链表的实现(Linux内核链表)

1.企业链表本质上是一种Linux内核链表。 2.最本质的区别在于,传统的结点类型中直接同时包含了指针域和数据域,用来实现和其他结点之间的串联;而在企业链表中,结点本身只含有指针域,而数据部分的具体实现则在测试文件中…

【云原生】k8s之pod基础(下)

1.pod的镜像拉取策略 1.1 镜像拉取说明 当你在创建容器时会针对指定的镜像来进行容器的创建,所以pod的创建是以镜像为基础。当你在拉取镜向不指定仓库的主机名,Kubernetes 认为你在使用 Docker 公共仓库。 在镜像名称之后,你可以添加一个…

Stage模型HarmonyOS服务卡片开发ArkTS卡片相关模块

图1 ArkTS卡片相关模块 FormExtensionAbility:卡片扩展模块,提供卡片创建、销毁、刷新等生命周期回调。 FormExtensionContext:FormExtensionAbility的上下文环境,提供FormExtensionAbility具有的接口和能力。 formProvider&…

自制游戏引擎

这是一个玩具 1. 引擎使用流程 SmallEngine是引擎的核心模块,封装渲染功能和场景管理功能等Editor是编辑器,类似unity和ue编辑器,能够动态添加对象和组件Sandbox是游戏播放器,能够运行游戏 2. SmallEngine 参考 https://www.bilibili.com/video/BV1KE41117BD/?spm_id_from333…

基于PyQt5的图形化界面开发——天气应用

目录 0. 前言1. 注册心知天气2. 代码实现3. 其他PyQt5文章 0. 前言 本节使用PyQt5开发天气应用程序实现以下功能: 通过调用天气API获取实时天气数据,并在应用程序中显示当前城市的温度、天气状况、风速等信息。 操作系统:Windows10 专业版…

ps htop 输出可读文件

需要安装sudo apt-get install aha echo q | ps auxf | aha --black --line-fix > psps.html echo q | htop | aha --black --line-fix > htop.html 使用浏览器打开

MYSQL 数据清理磁盘没变小问题解决方法

我们到数据目录查看有些表比较大,清理了一些无用数据后发现,文件大小不变。这是mysql的机制导致的。 解决方法:重建索引释放空间。 alter table $TABLE engineInnoDB;

代码随想录算法训练营第五十二天|300.最长递增子序列、 674. 最长连续递增序列、 718. 最长重复子数组

最长递增子序列 dp[i]的定义dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度状态转移方程 位置i的最长升序子序列等于j从0到i-1各个位置的最长升序子序列 1 的最大值。 所以:if (nums[i] > nums[j]) dp[i] max(dp[i], dp[j] 1);dp[i]的初始化 每一…

DETR系列:RT-DETR(一) 论文解析

论文:《DETRs Beat YOLOs on Real-time Object Detection》 2023.4 DETRs Beat YOLOs on Real-time Object Detection:https://arxiv.org/pdf/2304.08069.pdf 源码地址:https://github.com/PaddlePaddle/PaddleDetection/tree/develop/conf…