当前位置: 首页 > news >正文

Linux工具 - 耀眼的git

在这里插入图片描述

~~~~

前言

提起github,相信你或多或少都听过它的大名,它是全球程序员的圣地,是计算机开源精神的代表。而github就是在git的基础上搭建起来的,全球有非常多的人在使用着git工具。本文将主要介绍在Linux系统中如何方面快捷的使用git工具来帮助我们进行学习和编程。
码云Gitee官网
Github官网


耀眼的Git

Git是什么(本质)

简单来说,git是一款进行**版本管理(控制)**工具。
git管理着用户上传的所有文件,以及用户修改之后的文件。git对这些文件进行版本管理,这样如果用户修改之后的文件不符合其预期(如甲方刁难),那么用户想要选择回退到修改之前文件版本时,又因为git管理着从文件创建开始的每一个修改版本,所以此时git可以直接给用户该文件修改之前的版本,便于用户对该文件重新修改。
简单示意图:
image.png

Git出现的背景(本着开源的精神)

git是如何出现的,还要从雷纳斯托瓦兹开源Linux系统之后说起。
当是全世界范围的很多程序员都会参与Linux开源社区的建设,其中一项就是为Linux内核贡献代码,这些代码在合并之前需要先经过雷纳斯托瓦兹的审查,通过了才会出现在Linux源码中。雷纳斯托瓦兹每天的时间很大部分都被审查代码的工作缠住了,忙得不行,为了让自己从审查代码的工作中解放出来,雷纳斯托瓦兹开始寻找是否有能够替代自己的工具。
幸运的是,当时已经有商业公司开发出来了进行版本控制的工具,不幸的是,这个工具是收费的。虽然Linux开源社区可以负担得起这项费用,但是Linux作为开源操作系统,却使用了付费的工具,这不符合开源社区的理念,所以开始也没有使用这个付费的版本控制工具。之后的一段时间,雷纳斯托瓦兹仍然被困在代码的审查工作中,这款付费的版本控制工具所属公司的老板主动提出了让Linux开源社区免费使用这款工具。之后的很长时间,Linux开源社区都在使用这款版本控制工具,雷纳斯托瓦兹也从审查代码的工作中解放了出来,这项工作就在网上由所有人都能共同负责了。
但是不妙的事情发生了,Linux社区的部分爱好学习的程序员为了学习这个版本控制工具是如何编写的而进行了逆向破解,并公开在了Linux社区上,并且被前文中免费给Linux社区使用版本控制工具的公司头头发现了,于是Linux社区就不被允许使用这款工具了。之后的一段时间内,雷纳斯托瓦兹又被迫陷入到了代码审查的漩涡中,雷纳斯托瓦兹终于受够了这项工作,于是花了几周时间自己写了一个初版版本控制工具并命名为git,之后又开源了出版的git工具。Linux社区的程序员边顺理成章的涌入git的怀抱,于是git疯狂迭代,Linux内核代码也使用git进行版本控制,代码审查的工作也交给了全世界的程序员,之后git越来越流行,直到今天。

现在的github和gitee都是对git进行商业包装之后的产品。

在命令行中使用Git(Come on 来使用Git吧)

.git文件说明

git工具中经常出现仓库一词,那么仓库到底是什么呢?
其实就是一个文件目录,在本地仓库中所指的就是.git目录。在.git目录中包含了管理整个仓库所需的所有信息和数据(如历史记录、分支、标签、配置信息等),是git仓库最重要的部分。
image.png

新建仓库

在github或gitee中新建一个仓库
image.png
image.png
image.png

git clone 克隆云端仓库到本地

image.png
image.png
在Linux中

git clone https://gitee.com/用户名/test.git

image.png

git add

将工作目录中的文件添加到暂存区(stage area)

git add 文件名

image.png

git commit -m

将暂存区中的文件提交到本地版本库(本地仓库.git)

git commit -m '本次提交概要'

image.png

git push

把本地仓库的文件推送到远端github或gitee

git push

image.png

git pull

拉取远端的仓库并合并到本地仓库

git pull

git status

显示当前工作目录的状态信息

git status

image.png

git log

显示过往所有的提交信息,且提交信息不能被修改
对于公开仓库,所有人都能看到你的提交信息,所以提交信息一般不要乱写。

git log

image.png

git mv

移动工作目录的文件或修改工作目录的文件名

git mv 原文件名 新文件名

修改文件名
image.png
移动文件
image.png

git rm

删除工作目录的文件或目录

git rm 文件名
git rm -rf 目录

删除文件hello
image.png
删除目录dir
image.png

配置免密码提交

在命令行操作不熟悉的时候,不推荐配置免密码,虽然每次提交都不用再输入密码了,但如果是git新手,应该要以熟悉基本操作为主,先把命令熟练使用起来,多数几次密码也就是顺手的事。
http://t.csdnimg.cn/4QBOd


结语

本文主要介绍了git工具在命令行中使用的常用命令,特别是三板斧(git add/git commit -m/ git push)。熟能生巧才是真理。


T h e E n d TheEnd TheEnd

相关文章:

Linux工具 - 耀眼的git

~~~~ 前言耀眼的GitGit是什么(本质)Git出现的背景(本着开源的精神)在命令行中使用Git(Come on 来使用Git吧).git文件说明新建仓库git clone 克隆云端仓库到本地git addgit commit -mgit pushgit pullgit st…...

Spring Security的开发

文章目录 1,介绍2, 核心流程3, 核心原理3.1 过滤器链机制3.2 主体3.3 认证3.4 授权3.5 流程图4, 核心对象4.1 UserDetailsService 接口4.2 PasswordEncoder 接口4.3 hasAuthority方法4.4 hasAnyAuthority方法4.5 hasRole方法4.5 hasAnyRole方法5, 核心注解5.1 @PreAuthorize5.1…...

C语言 实用调试技巧

我们的博客已经更新到了数据结构,但是当我在深耕数据结构时我发现我在C语言是遗漏了一个重要的东西,那就是C语言的使用调试技巧。这篇博客对数据结构非常重要,请大家耐心观看。 1. 什么是bug? 第一次被发现的导致计算机错误的飞蛾…...

GPT的实现细节

关于GPT的代码细节,这里梳理了一下: 数据集构造 原始数据集schema: inputwho is your favorite basketball player? outputOf course Kobe Bryant!那么在构造训练集时,根据chunk size构造多个输入: input_1who is …...

docker安装Milvus

docker安装Milvus 拉去CPU版本的milvus镜像 $ sudo docker pull milvusdb/milvus:0.10.0-cpu-d061620-5f3c00 docker pull milvusdb/milvus:0.10.0-cpu-d061620-5f3c00 mkdir -p milvus/conf cd milvus/conf ls wget https://raw.githubusercontent.com/milvus-io/milvus/v0.1…...

HTML静态网页成品作业(HTML+CSS)——世博园介绍(2个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有2个页面。 二、作品演示 三、代…...

微信小程序订阅消息授权弹窗事件

微信小程序消息订阅授权弹窗事件 &#xff0c;每次授权完成之后&#xff0c;只可以推送一条模板消息。 目录 1、HTML代码 2、JS代码 1、HTML代码 <button bindtap"openPopup" class"openPopup">订阅消息</button> 2、JS代码 // 是否设置过授…...

谷歌的后量子密码学威胁模型

1. 引言 若现在不使用量子安全算法来加密数据&#xff0c;能够存储当前通信的攻击者最快十年内就能对其解密。这种先存储后解密的攻击是当前采用后量子密码学 (post-quantum cryptography&#xff0c;PQC) 背后的主要动机&#xff0c;但其他未来的量子计算威胁也需要一个深思熟…...

机器人在果园内行巡检仿真

文章目录 创建工作空间仿真果园场景搭建小车模型搭建将机器人放在仿真世界中创建工作空间 mkdir -p ~/catkin_ws/src cd ~/catkin_ws仿真果园场景搭建 cd ~/catkin_ws/src git clone https://gitcode.com/clearpathrobotics/cpr_gazebo.git小车模型搭建 DiffBot是一种具有两个…...

蓝桥杯算法基础(14):十大排序算法(归并排序)c语言版

归并排序 基于分而治之的思想&#xff0c;拿两个已经有序的序列重新组合成一个新的有序序列. 这是一个简单的合并函数&#xff0c;需要两个序列都有序 //默认a和b数组都是有序的 //temp为一个数组的首地址 void mergeSort(int a[],int,alen,int b[],int blen,int* temp){int …...

力扣刷题(DAY09-DAY11)

Day09 0958. 二叉树的完全性检验 知识点&#xff1a;完全二叉树&#xff1a;在一棵完全二叉树中&#xff0c;除了最后一层外&#xff0c;所有层都被完全填满&#xff0c;并且最后一层中的所有节点都尽可能靠左。最后一层&#xff08;第 h 层&#xff09;中可以包含 1 到 个节点…...

IPC之管道

什么是管道&#xff1f; 管道的本质是操作系统在内核中创建出的一块缓冲区&#xff0c;也就是内存 管道的应用 $ ps aux | grep xxx ps aux 的标准输出写到管道&#xff0c;grep 从管道这块内存中读取数据来作为它的一个标准输入&#xff0c;而且 ps 和 grep 之间是兄弟关系&a…...

VUE-组件间通信(二)$emit

$emit 1、单向绑定 子组件向父组件传值 2、使用示例 父组件 <template><div id"app"><!-- 监听自定义触发事件 emitInvokeEvents--><SonDemo emitInvokeEvents"fatherFunction"></SonDemo></div> </template&…...

java 程序连接 redis 集群 的时候报错 MUTLI is currently not supported in cluster mode

找了半天找不到,为什么国内文章环境是真的差&#xff0c; redis 集群不支持事务&#xff0c;而你的方法上面估计使用了 spring 的事务导致错误具体解决&#xff1a; Transactional(propagation Propagation.NOT_SUPPORTED)public <T> void removeMultiCacheMapValue…...

AVP-SLAM:自动泊车系统中的语义SLAM_

AVP-SLAM&#xff1a;自动泊车系统中的语义SLAM 附赠最强自动驾驶学习资料&#xff1a;直达链接 ●论文摘要 在自动代客泊车系统中车辆在狭窄且拥挤且没有GPS信号的停车场中进行导航&#xff0c;具备准确的定位能力是至关重要的。传统的基于视觉的方法由于在停车场中由于缺少…...

PHP反序列化--pop链

目录 一、了解pop链 1、pop链&#xff1a; 2、pop链触发规则&#xff1a; &#xff08;1&#xff09;通过普通函数触发&#xff1a; &#xff08;2&#xff09;通过魔术方法触发&#xff1a; 3、pop链魔术方法例题&#xff1a; 一、了解pop链 1、pop链&#xff1a; pop链…...

单片机中的几种周期(振动/时钟,状态,机械,指令周期)表示的含义(51为例)

几种周期含义及个人理解描述 参考&#xff1a;短文&#xff0c;参考&#xff0c;百度 个人理解简述&#xff1a;对于几个周期性来说&#xff0c;可以认为是小单位的时间组合成了长时间。就像把一个数据赋值&#xff0c;这个是简单的一个机械周期能完成的动作&#xff0c;但需要…...

Spring Boot+Vue前后端分离项目如何部署到服务器

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…...

【学习总结】Ubuntu中vscode用ROS插件调试C++程序

1、教程 参考博客&#xff1a; 【ROS】 在VScode中 ROS Debug 配置方法非常详细版 关于launch文件的配置&#xff1a; launch.json {"version": "0.2.0","configurations": [{"name": "ROS: Launch","request"…...

html--蝴蝶

<!DOCTYPE html> <html lang"en" > <head> <meta charset"UTF-8"> <title>蝴蝶飞舞</title> <link rel"stylesheet" href"https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.cs…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候&#xff0c;遇到了一些问题&#xff0c;记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 题目描述 地上有一个 m 行 n 列的方格&#xff0c;从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子&#xff0c;但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...