DevOps系列文章之 Git知识大全

常用命令

 

其他参数 --inital-branch 初始化的分支 --bare 创建一个裸仓库(纯 Git 目录,没有工作目录) --template 可以通过模板来创建预先建好的自定义 git 目录

 

常见 Git 配置

用户名配置

git config --global user.name "yourname" git config --global user.email yourname@xx.com

instead of 配置

git config --global url.github.com:.insteadOf github.com/

Git 命令别名配置

git config --global alias.cin "commit --amend --no-edit"

Git Remote

查看 Remote

git remote -v

添加 Remote

git remote add orgin_ssh git@github.com:git/git.git git remote add orgin_http github.com/git/git.gii…

HTTP Remote

URL:github.com/git/git.git 免密配置 内存:git config --global credential.helper 'cache --timeout=3600' 硬盘:git config --global credential.helper "store --file/path/to/credential-file" 不指定目录的情况默认是 ~/.git-credentials

将密钥信息存在指定文件中 具体格式:scheme://{scheme}://scheme://{user}:${password}@github.com

SSH Remote

URL:git@github.com:git/git.git 免密配置 SSH 可以通过公司钥的机制,将生成公钥存放在服务端,从而实现免密访问

目前的 Key 类型四种,分别是 dsa、rsa、ecdsa、ed25519 默认使用的是 rsa,由于一些安全问题,现在已经不推荐使用 dsa 和 rsa 了,优先推荐使用 ed25519 ssh-keygen -t ed25519 -C "your_email@example.com" 密钥默认存在 ~/-ssh/id_ed25519.pub

Objects

commit / tree / blob 在 git 里面走统一称为 Object,除此之外还有个 tag 的 object. Blob:存储文件的内容 Tree:存储文件的目录信息 Commit:存储提交信息,一个 Commit 可以对应唯一版本的代码

如何把这三个信息串联在一起? 1、通过 Commit 寻找到 Tree 信息,每一个 Commit 都会存储对应的 Tree ID。 2、通过 Tree 存储的信息,获取到对应的目录树信息。 3、从 Tree 中获得 blob 的 ID,通过 Blob ID 获取对应的文件内容。

Refs

Refs 文件存储的内容 refs 的内容就是对应的 Commit ID 因此把 ref 当做指针,指向最硬的 Commit 来表示当前 Ref 对应的版本。

不同种类的 ref

refs/heads 前缀表示的是分支,除此之外还有其他种类的 ref,比如 refs/tags 前缀表示的是标签。

Branch

git cheakout -b 可以创建一个新分支 分支一般用于开发阶段,是可以不断添加 Commit 进行迭代的

Tag

标签一般表示的是一个稳定版本,指向的 Commit 一般不会变更 通过 git tag 命令生成 tag。

Annotation Tag

什么是附注标签? 一种特殊的 Tag,可以给 Tag 提供一些额外的信息。 如何创建附注标签? 通过 git tag -a 命令来完成附注标签的创建。

Git GC

通过 git gc 命令,可以删除一些不需要的 object,以及会对 object 进行一些打包压缩来减少仓库的体积。

Reflog

reflog 是用于记录操作日志,防止误操作后数据丢失,通过 reflog 来找到丢失的数据,手动将日志设置为过期。 指定时间 git gc prune=now 指定的是修剪多久之前的对象,默认是两周前。

Git Clone & Pull & Fetch

Clone

拉取完整的仓库到本地目录,可以指定分支,深度。

Fetch

将远端某些分支最新代码拉取到本地,不会执行 merge 操作,会修改 refs/remote 内的分支信息,如果需要执行和本地代码合并需要手动操作。

Pull

拉取远端某分支,并和本地代码进行合并,操作等于 git fetch + git merge,也可以通过 git pull --rebase 完成 git fetch + git rebase 操作。

可能存在冲突,需要解决冲突。

Git Push Push 是将本地代码同步至远端的方式。 常见命令 一般使用 git push orgin master 命令即可完成 冲突问题 1、如果本地的 commit 记录和远端的 commit 历史不一致,则会产生冲突,比如 git commit --amend or git rebase 都有可能导致这个问题。 2、如果该分支就自己一个人使用,或者团队确认过可以修改历史则可以通过 git push orgin master --f 来强制推送,一般不推荐主干分支进行该操作,正常都应该解决冲突后再进行推送。 推送规则限制 可以通过保护分支,来配置一些保护规则,防止误操作,或者一些不合规的操作出现,导致代码丢失。

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

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

相关文章

cmder 使用简介

文章目录 1. cmder 简介2. 下载地址3. 安装4. 配置环境变量5. 添加 cmder 到右键菜单6. 解决中文乱码问题 1. cmder 简介 cmder 是一个增强型命令行工具,不仅可以使用 windows 下的所有命令,更爽的是可以使用 linux的命令, shell 命令。 2. 下载地址 …

选择合适的图表,高效展现数据魅力

随着大数据时代的来临,数据的重要性愈发凸显,数据分析和可视化成为了决策和传递信息的重要手段。在数据可视化中,选择合适的图表是至关重要的一环,它能让数据更加生动、直观地呈现,为观众提供更有说服力的信息。本文将…

模型构建——使用逻辑回归构建模型,lightGBM进行特征筛选

1、模型构建流程 1.1 实验设计 新的模型要跟原有方案对比,而且是通过实验证明,特别注意模型和策略不能同时调整。一般实验设计包含以下流程: 问题:业务稳定后,可以去掉人工审核吗? 答:不可以…

c语言练手项目【编写天天酷跑游戏2.0】EASYX图形库的运用。代码开源,素材已打包

天天酷跑项目的开发 项目前言 项目是基于Windows,easyX图形库进行开发的, 开发环境:Visual Studio 2022 项目技术最低要求: 常量,变量,数组,循环,函数。 文章目录 天天酷跑项目的…

超详细-Vivado配置Sublime+Sublime实现Verilog语法实时检查

目录 一、前言 二、准备工作 三、Vivado配置Sublime 3.1 Vivado配置Sublime 3.2 环境变量添加 3.3 环境变量验证 3.4 Vivado设置 3.5 配置验证 3.6 解决Vivado配置失败问题 四、Sublime配置 4.1 Sublime安装Package Control 4.2 Sublime安装Verilog插件 4.3 安装语…

#pragma region用法

简介 #pragma region 是VS(Visio Studio)所特有的预处理语法(其他IDE或者Cmake会报错),其可以用来收缩或者展开一段代码。 #pragma region MyRegion// ...Code content #pragma endregion 其中,MyRegion 即给这代码块所定义的名…

【计算机网络】简易TCP网络小程序

文章目录 1. 简易TCP网络程序1.1 服务端1.1.1 服务端创建套接字1.1.2 服务端绑定1.1.3 服务端监听1.1.4 服务端获取连接1.1.5 服务端处理请求 1.2 客户端1.2.1 客户端创建套接字1.2.2 客户端连接服务器1.2.3 客户端发起请求 1.3 服务器测试1.4 单执行流服务器的弊端 2. 多进程版…

【Java】 服务器cpu过高如何排查和解决?

文章目录 前言一、常见能够引起CPU100%异常的情况都有哪些?二、服务器CPU使用率飙升异常,黄金4步排查法三、排查 CPU 故障的常用命令四、什么场景会造成 CPU 低而负载确很高呢?五、监控发现线上机器内存占用率居高不下,如何分析进…

webpack require.context

require.context((directory: String),(includeSubdirs: Boolean) /* 可选的,默认值是 true */,(filter: RegExp) /* 可选的,默认值是 /^\.\/.*$/,所有文件 */,(mode: String) /* 可选的, sync | eager | weak | lazy | lazy-onc…

RPA界面元素定位与操控技术详解-达观数据

RPA 入门介绍 什么是 RPA?RPA 是机器人流程自动化 Robotic Process Automation 的简写。在《智能RPA实战》中,我们这样定义:通过特定的、可模拟人类在计算机界面上进行操作的技术,按照规则自动执行相应的流程任务,代替…

Linux QT通过NFS挂载到Linux开发板上

Linux QT通过NFS挂载到Linux开发板上 说明:这里使用的Linux开发板是正点原子的阿尔法开发板 创建NFS 环境 NFS简介 网络文件系统,英文 Network File System(NFS),是由 SUN 公司研制的 UNIX 表示层协议 (presentation layer protocol)&…

【面试】MySQL 中InnoDB与MyISAM的区别是什么?

文章目录 前言一、数据库存储引擎二、如何知道自己的数据库用的什么引擎呢?三、存储引擎原理四、B 树和 B 树五、MyISAM六、InnoDB七、InnoDB与MyISAM的区别总结 前言 许多同学都把 MySQL 作为自己的数据库,但是可能用过最多的就是 SQL 语句&#xff0c…

【图像分类】基于LIME的CNN 图像分类研究(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 💥1 概述 基于LIME(Local Interpretable Model-Agnostic Explanations)的CNN图像分类研究是一种用于解释CNN模型的方法。LIME是一…

node中间件-express框架

文章目录 前置 Express安装1. 基本使用2. 中间件2.1 中间件应用 3. 中间件的注册方式3.1 普通中间件的注册3.2 path匹配中间件3.3 method与路径匹配3.4 案列中间件匹配与执行方法 4. 中间件request数据解析4.1 解析request body中间件4.2 urlencoded解析 5. 第三方中间件5.1 mo…

echarts图表如何自定义鼠标悬浮样式

样式调整 // formatter: {a}: {b}<br />{c}: {d}: {e} formatter: function (params) {// <i style"display:inline-block;border-radius:50%;width:4px;height:4px;background-color: #0ECB81;"></i>// ${console.log(params[0])}return <d…

android studio JNI开发

一、JNI的作用&#xff1a; 1.使Java与本地其他类型语言&#xff08;C、C&#xff09;交互&#xff1b; 2.在Java代码调用C、C等语言的代码 或者 C、C调用Java代码。 由于JAVA具有跨平台的特点&#xff0c;所以JAVA与本地代码的交互能力弱&#xff0c;采用JNI特性可以增强JA…

【收藏】用Vue.js来构建你的Web3应用,就像开发 Web2 一样熟悉

作为一名涉足去中心化网络的前端 JavaScript 开发人员&#xff0c;您可能遇到过许多 Web3 开发解决方案。但是&#xff0c;这些解决方案通常侧重于钱包集成和交易执行&#xff0c;这就造成了学习曲线&#xff0c;偏离了熟悉的 Web2 开发体验。 但不用担心&#xff01;有一种解…

导读页——记忆之路

记忆方法千千种&#xff0c;本栏意在梳理其中道道来&#xff0c;旦有小得&#xff0c;肥肠幸耶。从不同角度分析学习记忆。 文章目录 按方法分按有无逻辑分有逻辑用思维导图 无逻辑用记忆宫殿理论模仿借鉴 按方法分 学习方法–找书&#xff0c;背书&#xff0c;利器 按有无逻…

FastReport.Net FastReport.Core 2023.2.23 Crack

FastReport.Net & FastReport.Core 2023.2.23适用于 .NET 7、.NET Core、Blazor、ASP.NET、MVC 和 Windows 窗体的全功能报告库。它可用于 Microsoft Visual Studio 2022 和 JetBrains Rider。 利用数据呈现领域专家针对 .NET 7、.NET Core、Blazor、ASP.NET、MVC、Windo…

Jenkins从配置到实战(二) - Jenkins如何在多台机器上自动化构建

前言 jenkins除了支持在本机上进行项目构建&#xff0c;还可以将构建任务分发到其他远程服务器上去执行&#xff0c;可以实现在不同平台和架构的机器上来完成项目的自动化构建任务&#xff0c;也能减轻jenkins服务器的压力。本文章就主要介绍下此流程。 准备工作 准备两台机…