linux -- Git基础使用

news2024/11/16 15:28:17

git是什么

简单说来Git是一个开源的分布式版本控制系统,那么什么是分布式呢,就是每个开发者拥有完整的本地仓库副本,包括所有历史记录和分支,可以独立工作,并通过合并来同步变更。

git优点

速度极快

Git在合并、分支、切换等操作上非常快速。

数据完整性

通过SHA-1哈希算法保护代码和历史记录的完整性,确保代码不会在传输过程中损坏。

支持分支和合并

Git支持快速创建和合并分支,方便开发者进行实验和并行开发。

支持离线操作

由于是分布式的,Git可以在没有网络连接的情况下进行大部分操作。

git安装

windows安装

https://git-scm.com/download/win

在这里插入图片描述

正常来说,下载速度很慢,所以我也没有去下
在这里插入图片描述

linux安装

$ sudo apt install git-all
git --version

如果可以查出版本的话就说明安装成功了
在这里插入图片描述在这里插入图片描述

git的三种状态

已修改(modified)

当你修改文件但是未add或者commit,那就是已修改。
在这里插入图片描述

已暂存(staged)

当你add之后文件将被暂存,但是还未上传本地库
在这里插入图片描述

已提交(commited)

git的基础使用

第一步:初始化姓名与邮箱

初始化姓名

git config --global user.name "username"

初始化邮箱

git config --global user.email "11111@qq.com"

注:git config --global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。

查看姓名与邮箱

git config user.name
git config user.email

第二步:创建git仓库

git init:初始化一个新的Git仓库。这也是我们在使用git的第一步,可以把这个目录变成git可以管理的仓库。

一般来说在init之后你的这个目录会自动创建一个.git/目录,这个目录是Git来跟踪管理版本的,但是这个目录默认是不显示的,可以用ls -a命令将其显示。

git文件的流动

在这里插入图片描述
在这里插入图片描述

第三步:更改文件

git add:将更改添加到暂存区,可以用于添加文件。

git add .	
/*可以将这个命令用于将当前目录(以及子目录)
中所有未被Git跟踪的新文件(不包括已删除的文件)
添加到暂存区(staging area)。
*/

红色的意思是该文件已经存在git目录,但是未添加到暂存区
在这里插入图片描述

第四步:提交文件

git commit:将暂存区的更改提交到本地仓库。

git commit -m “提交信息” 文件名
在这里插入图片描述
在这里插入图片描述
可以通过git reflog查看已经提过过的日志
在这里插入图片描述
也可以通过git log查看完整的日志信息,包含user.name和user.email等信息

git commit -a:提交所有更改

提交之前我们可以查看一下仓库的状态。
git status

第五步:修改

当你在本地修改文件内容,可以用git status查看当前git库的信息,发现有文件被修改但是未暂存。
在这里插入图片描述
在这种情况下,你可以用git add暂存,也可以用git commit保存在本地

第六步:回退

Git 切换版本, 底层其实是移动的 HEAD 指针。
用git reset --soft HEAD~1撤销最近的提交,但是不修改工作目录
用git reset --hard HEAD~1撤销最近的提交并重置工作目录

git的分支使用

创建分支

git branch 分支名

git branch socket

在这里插入图片描述

切换分支 – git checkout branchname

如果切换成功会显示相关的提示
在这里插入图片描述

分支前面的*号表示当前正在使用的分支
在这里插入图片描述

合并分支 – git merge branchname

合并成功会显示提示
在这里插入图片描述

git远程仓库

git remote -v查看当前所有远程仓库的别名

这里我事先已经添加过了
在这里插入图片描述

git remote add 别名 远程地址

用git remote add 别名 远程地址来连接远程仓库
在这里插入图片描述

git push 别名 分支

可以用git push 别名 分支来推送本地分支上的内容到远程仓库,这个别名是之前连接远程地址时的别名

git remote remove

删除别名为origin的远程仓库连接

git pull 别名 分支

从linux本地仓库上传到gitte远程仓库

已经设置好了user.name和user.email

git init

在这里插入图片描述

git remote add 别名 url

git add.

git commit -a -m “提交”

git branch “branchname”

在这里插入图片描述

从gitte远程仓库拉取文件到linux本地仓库

我是在一个之前从未使用过git的ubuntu上进行的,这也符合我电脑的实际状况,git下载我就补再次写了,上面有。

前置操作

如果在之前还未初始化的文件夹中需要此操作
在这里插入图片描述
对于我自己的Ubuntu而言我是第一次设置username和useremail
所以初始化这些内容也是必须的
在这里插入图片描述

在这里插入图片描述

git push 别名 分支名

分支名应是你远程仓库的分支名,
在这里插入图片描述

拉取socketAI

在这里插入图片描述

拉取8.7

在这里插入图片描述

git clone url

git clone 是 Git 版本控制系统的一个命令,用于克隆远程仓库到本地。

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

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

相关文章

嵌入式 - 什么是数字晶体管

What is a digital transistor? 数字晶体管是一种集成电阻器的双极晶体管。 A digital transistor is a bipolar transistor that integrates resistors. Concerning internal resistor R1 / 关于内部电阻 R1 R1 的作用是通过将输入电压转换为电流来稳定晶体管的工作。 如果…

【秋招笔试】8.17京东秋招第二场(后端岗)-三语言题解

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收…

Nginx:高效HTTP服务器与反向代理

Nginx:高效HTTP服务器与反向代理 1、核心特点2、应用场景 💖The Begin💖点点关注,收藏不迷路💖 Nginx,一个开源的HTTP服务器与反向代理工具,因其高性能、低资源消耗而备受推崇。以下是Nginx的几…

Python 全栈系列261 使用apscheduler

说明 任务可以分为两种: 1 静态(存量)任务2 动态(增量)任务 对于静态任务来说,一般可以事先分好大小均匀的若干block任务,这时候比较强调使用分布式系统进行快速处理;对于动态任务来说,主要按时间区块大小划分。对于…

[JAVA] Java中如何使用throws语句声明异常类型

如果一个方法可能会出现异常,但没有能力处理这种异常,可以在方法声明处用throws子句来声明抛出异常 — throws语句用在方法定义时声明该方法要抛出的异常类型 public void method() throws Exception1,Exception2,...ExceptionN{//可能产生异常的代码 }…

LVS配置

基础介绍 http://t.csdnimg.cn/Lv5Byhttp://t.csdnimg.cn/Lv5By 部署NAT模式集群案例 实验环境 主机名 IP vip 角色 node1 192.168.0.100 172.25.254.100 调度器( VS ) node1 192.168.0.101 , GW 192.168.0.100 \ 真实服务器&#…

HarmonyOS开发案例:创建全局自定义组件复用池-BuilderNode

介绍 本示例是全局自定义组件复用实现的示例代码,主要讲解如何通过BuilderNode创建全局的自定义组件复用池,实现跨页面的组件复用。 效果图预览 使用说明 继承NodeController,实现可复用的NodeItem组件。使用单例模式创建NodePool组件复用…

leetcode算法题之N皇后

N皇后也是一道很经典的问题,问题如下: 题目地址 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你…

2:html:基础语法2

目录 2.1图像的一些注意点 2.2表格 2.2.1基本的表格 2.2.2表头与边框 2.3列表 2.3.1无序列表 2.3.2有序列表 2.4块 2.4.1块级元素 2.4.2内联元素 2.1图像的一些注意点 在上一篇中,我们已经知道了怎么样去将图片运用到我们的网站中,但是这里还…

荣耀Magicbook x14 扩容1TB固态

版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/ 固态硬盘规格 在官网查看加装固态硬盘的接口规格 https://www.honor.com/cn/laptops/honor-magicbook-x14-2023/ https://club.honor.com/cn/thread-2847379…

XYplorer v26.30.0200绿色版

软件介绍 XYplorers是一款多标签文件管理器,支持多标签页栏,浏览文件管理时就跟使用Chrome之类的浏览器感觉一般,从浏览方便性,和切换滑顺程度,要比原本Windows10的Explorer文件管理器要得多。可以大部分程度上替代系…

树莓派5环境配置笔记 新建虚拟python环境—安装第三方库—配置Thonny解释器

树莓派5虚拟环境配及第三方库的安装🚀 在完成了树莓派的系统下载和各项基础配置之后进入到了,传感器开发部分,在测试传感器开发之前我打算先安装一下自己需要的库,但是在我直接在系统的根目录下运行pip命令的时候总会报环境错误&a…

sudo执行带重定向命令时仍提示无权限:Permission denied问题详解以及linux里的更高效下载命令mwget安装和使用效率对比

一、sudo执行带重定向命令时仍提示无权限:Permission denied问题详解 小问题,在此记录一下,有时在shell下执行命令重定向到文件时提示无权限-bash: temp_20181015.log: Permission denied,而且加sudo执行依提示无权限,…

CDD数据库文件制作(四)——Data Type(0x22/0x2E)

文章目录 1、新建Data Type步骤2、Data Types类型2.1 raw value2.1.1 ASCII读取和写入:零件号…2.1.2 “多字节的十六进制” 读取和写入:密钥,种子…2.1.3 “多字节的十进制” 读取和写入:参数标定和显示2.2 text table2.3 Linear2.3.1 分辨率和偏移量非1和0的读取和写入2.…

linux:进程优先级、环境变量、地址空间

进程优先级 什么叫进程优先级? 进程优先级是指进程获取某些资源的先后顺序 上文中的task_struct,也叫进程控制块(PCB),本质上是结构体,我们的优先级就被写在结构体里面(内部字段)…

Python | Leetcode Python题解之第345题反转字符串中的元音字母

题目&#xff1a; 题解&#xff1a; class Solution:def reverseVowels(self, s: str) -> str:def isVowel(ch: str) -> bool:return ch in "aeiouAEIOU"n len(s)s list(s)i, j 0, n - 1while i < j:while i < n and not isVowel(s[i]):i 1while j …

模型 神经网络(通俗解读)

系列文章 分享 模型&#xff0c;了解更多&#x1f449; 模型_思维模型目录。仿脑智能&#xff0c;深度学习&#xff0c;精准识别。 1 神经网络的应用 1.1 鸢尾花分类经典问题 神经网络的一个经典且详细的经典应用是鸢尾花分类问题 。主要是通过构建一个神经网络模型来自动区分…

【数学建模备赛】Ep04:假设性检验

文章目录 一、前言&#x1f680;&#x1f680;&#x1f680;二、假设性检验&#xff1a;☀️☀️☀️1. 整体步骤2. 例子① 确定原假设和备择假设② 根据要检测的量构造一个分布③ 画出分布的概率密度图④ 给出一个置信水平β⑤ 最常见的置信水平&#xff08;95 %&#xff09;⑥…

Java流程控制07:嵌套for循环

本节教学视频链接&#xff1a;https://www.bilibili.com/video/BV12J41137hu?p41&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5https://www.bilibili.com/video/BV12J41137hu?p41&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 在Java中&#xff0c;‌嵌套for循环是指将…

Linux之HTTP服务器的构建

欢迎诸位来阅读在下的博文~ 在这里&#xff0c;在下会不定期发表一些浅薄的知识和经验&#xff0c;望诸位能与在下多多交流&#xff0c;共同努力! 江山如画&#xff0c;客心如若&#xff0c;欢迎到访&#xff0c;一展风采 文章目录 参考环境参考书籍一、HTTP的工作原理1. 建立连…