【Git】Git基础命令操作速记

【Git】Git基础命令操作速记

文章目录

  • 【Git】Git基础命令操作速记
    • 1. 初始化
      • 1.1 设置用户名和邮箱
      • 1.2 初始化仓库
    • 2. 基础命令
      • 2.1 add和commit
      • 2.2 reset
      • 2.3 查看日志
      • 2.4 删除/找回本地仓库文件
      • 2.5 找回暂存区文件
      • 2.6 diff命令(找不同)
    • 3. 分支命令
      • 3.1 查看分支
      • 3.2 创建分支
      • 3.3 切换分支
      • 3.4 合并冲突
    • 4. 远程操作
      • 4.1 创建远程仓库别名
      • 4.2 push操作
      • 4.3 clone操作
      • 4.4 pull操作
        • 4.4.1 fetch操作
        • 4.4.2 merge操作
      • 4.5 协同开发冲突问题解决

1. 初始化

1.1 设置用户名和邮箱

设置用户名命令及邮箱:

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

查看用户名命令:

git config user.name
git config user.email

1.2 初始化仓库

初始化仓库:

git init

2. 基础命令

2.1 add和commit

在目录当中创建一个Demo.text文件,将他提交到暂存区中:

git add Demo.txt

将暂存区当中的文件添加到本地仓库:

git commit -m "第一次提交 Demo.txt" Demo.txt
  • -m:m表示message,给本次提交添加备注信息

2.2 reset

reset命令:前进或者后退历史版本。

git reset --hard 索引

参数含义:

  • --hard 参数,本地仓库的指针移动的同时,重置暂存区和工作区。
  • --mixed 参数,本地仓库的指针移动的同时,重置暂存区,但是工作区不动。
  • -soft 参数,本地仓库的指针移动的同时,暂存区和工作区都不动。

2.3 查看日志

git reflog

2.4 删除/找回本地仓库文件

1)将文件从工作区删除。

2)将删除操作同步到暂存区中。

git add Test2.txt

3)将删除操作同步到本地仓库中。

git commit -m "删除Test2.txt" Test2.txt

4)查看日志,发现并没有将原来的添加操作删除,而是直接新增了一个“删除Test2.txt”信息。

5)找回本地仓库删除文件实际上就是将历史版本切换到存在这个文件的版本。


2.5 找回暂存区文件

此时状态就是工作区和暂存区的文件都删除了,但是本地仓库还有对应的该文件。此时我们想恢复暂存区当中的文件该怎么办?

1)将指针指向有该对应文件的版本(可以自己指向自己)

git reset --hard 索引

2.6 diff命令(找不同)

git是按照行为单位管理数据。

比较工作区暂存区的不同。

//某个文件的不同
git diff 文件名
//多个文件的不同
git diff 文件名1 文件名2 ......
//所有文件的不同
git diff

比较本地仓库暂存区的不同。

git diff 索引 文件名

3. 分支命令

3.1 查看分支

查看所有分支的信息:

git branch -v

3.2 创建分支

git branch branch01

3.3 切换分支

git checkout branch01

3.4 合并冲突

当我们有两个分支branch01和master时,branch01和master的版本不同,如果合并则会发生冲突,此时就需要我们想办法合并冲突。

1)制造冲突,合并branch01和master(切换到master分支上):

git merge branch01

image-20231106231558072

2)查看Test1.txt文件的内容:

image-20231106231800679

3)决定留下哪些内容:

image-20231106231915391

4)将工作区内容添加到暂存区中:

image-20231106232057800

5)将暂存区内容提交到本地仓库:

git commit -m "解决了冲突问题"

注意:这条命令不能加文件名,否则会报错。执行完成后就自动取消了合并状态。


4. 远程操作

4.1 创建远程仓库别名

查看别名:

git remote -v

起别名:

git remote add origin https://gitee.com/xxx/xxx.git
  • origin 表示远程仓库别名

4.2 push操作

git push origin master
  • origin 是远程库的别名
  • master 是远程库的分支名,如果远程库不存在该库则会自动创建

4.3 clone操作

git clone url地址

克隆操作可以帮我们完成:

  1. 初始化本地仓库
  2. 将远程仓库内容完全克隆到本地
  3. 替我们创建远程仓库的别名

4.4 pull操作

pull操作相当于fetch操作 + merge操作。将远程库origin的master拉取过来。

git pull origin master
4.4.1 fetch操作

将远程库中的内容fetch到本地仓库的主分支当中。

git fetch origin master

在抓取操作执行后,只是将远程库的内容下载到本地,但是工作区中的文件并没有更新。工作区当中的内容不变。


4.4.2 merge操作

经过上一次的fetch操作之后,我们就可以进行合并/merge操作了。

git merge origin/master

4.5 协同开发冲突问题解决

  1. 当push操作发生冲突时,我们首先pull远程仓库代码到本地
  2. 在本地解决冲突
  3. 冲突解决后,操作从 3.4 第三步开始继续执行
  4. 最后push结果到远程仓库

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

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

相关文章

ArcGIS Pro设置谷歌影像(无水印)

1 打开软件,命名工程文件,底图(Basemap)选择【天地图】。 2 点击【视图(View)】——>【目录面板(Catalog pane)】,在【门户(Portal)】中搜索【…

Rust笔记【3】

使用指针的场景&#xff1a; 1&#xff09;编译时类型大小未知&#xff0c;用于定义struct中递归引用自身类型。 2&#xff09;移动大量数据&#xff0c;避免赋值。 3&#xff09;多态 Rust中几种只能指针 Box<T> Rc<T> RefCell<T>Box 1&#xff09;b是Bo…

TypeScript_抓取酒店价格数据

我们导入所需的库&#xff0c;包括http和request。然后&#xff0c;我们定义一个函数&#xff0c;该函数接受一个URL作为参数。 import http from http; import request from request;const fetchHotelPrices (url: string) > {// ... }接下来&#xff0c;我们使用request…

redis: 记录一次线上redis内存占用过大问题解决过程

引言 记录一次线上redis占用过大的排查过程&#xff0c;供后续参考 问题背景 测试同事突然反馈测试环境的web系统无法登陆&#xff0c;同时发现其他子系统也存在各类使用问题 排查过程 1、因为首先反馈的是测试环境系统无法登陆&#xff0c;于是首先去查看了登陆功能的报错…

Linux 进程控制

进程地址空间的收尾 task_struct有一个结构体成员叫mm_struct&#xff0c;也就是进程地址空间。 为什么要有进程地址空间&#xff1a;进程内存地址管理&#xff0c;保护物理内存&#xff0c;进行权限审查&#xff0c;从无序变有序&#xff0c;让我们从统一的视角看待进程代码…

排序_小结

排序篇(六)----排序小结\n排序算法复杂度及稳定性分析\n直接插入排序的算法复杂度&#xff1a;\n\n最好情况下&#xff0c;当数组已经有序时&#xff0c;直接插入排序的时间复杂度为O(n)&#xff0c;其中n是数组的大小。\n最坏情况下&#xff0c;当数组逆序排列时&#xff0c;直…

ModuleNotFoundError: No module named ‘torchvision.models.utils‘

如图报错&#xff1a;No module named torchvision.models.utils解决方案&#xff1a;由于当前python环境高版本的torch&#xff0c; 代码用的是低版本的语法 将 from torchvision.models.utils import load_state_dict_from_url换成 from torch.hub import load_state_dict_fr…

Python编程题集(第一部分基本语法基础)

Demo01 摄氏温度转化为华氏温度 题目描述&#xff1a; 输入一个摄氏温度的值&#xff0c;将它转变为华氏温度&#xff0c;并将结果输出 转换的公式为如下&#xff1a;fahrenheit (9 / 5 ) * celsius 32 输入输出描述 输入一个值表示摄氏温度celsius 输出华氏温度fahren…

数据结构与算法—插入排序选择排序

目录 一、排序的概念 二、插入排序 1、直接插入排序 直接插入排序的特性总结&#xff1a; 2、希尔排序 希尔排序的特性总结&#xff1a; 三、选择排序 1、直接选择排序 时间复杂度 2、堆排序—排升序(建大堆) 向下调整函数 堆排序函数 四、交换排序 1、冒泡排…

CF1866M Mighty Rock Tower

CF题面 luogu题面 期望题。 题目大意&#xff1a;一个人在搭积木&#xff0c;每次堆叠可能成功或失败&#xff0c;失败可能导致其下面连续的若干块掉落。给定搭每一块时失败的概率&#xff0c;求堆叠完成的期望次数。 具体的&#xff0c;假设当前正在堆叠第 i 块&#xff0c;…

Elasticsearch:RAG vs Fine-tunning (大语言模型微调)

如果你对 RAG 还不是很熟悉的话&#xff0c;请阅读之前的文章 “Elasticsearch&#xff1a;什么是检索增强生成 - RAG&#xff1f;”。你可以阅读文章 “Elasticsearch&#xff1a;在你的数据上训练大型语言模型 (LLM)” 来了解更多关于如何训练你的模型。在今天的文章中&#…

数据结构大体体系

逻辑结构 线性结构线性表一串珠子用线连起来&#xff0c;这就是典型的“线性存储结构”。每颗珠子之间的关系结构也很简单&#xff0c;包括头尾的话&#xff0c;它们最少有一个关系对象&#xff0c;而中间的珠子无论前后都只有一个关系对象&#xff0c;即 one-to-one栈队列字符…

<Linux>Linux高级技巧和命令(自用)

《Linux高级技巧和命令&#xff08;自用&#xff09;》 1 技巧1.1 清空文件1.2 快速生成大文件1.3 安全擦除硬盘数据1.4 快速制作系统盘1.5 查看某个进程的部分参数1.6 时间戳转换1.7 查看ASCII码1.8 删除乱码文件1.9 批量下载网页资源1.10 历史命令 1 技巧 1.1 清空文件 $ &…

自动驾驶高效预训练--降低落地成本的新思路(AD-PT)

自动驾驶高效预训练--降低落地成本的新思路 1. 之前的方法2. 主要工作——面向自动驾驶的点云预训练2.1. 数据准备 出发点&#xff1a;通过预训练的方式&#xff0c;可以利用大量无标注数据进一步提升3D检测 https://arxiv.org/pdf/2306.00612.pdf 1. 之前的方法 1.基于对比学…

19、Flink 的Table API 和 SQL 中的内置函数及示例(1)

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

项目管理之如何召开项目时间箱启动会议

时间箱启动会议是项目管理中至关重要的一环&#xff0c;它帮助项目团队明确目标、分配任务、制定计划&#xff0c;并为项目的顺利实施提供指导和支持。下边为大家介绍有关如何召开时间箱启动会议的一些建议&#xff1a; 确定会议目标 在召开时间箱启动会议前&#xff0c;首先…

Tomcat,jdk下载配置(发布项目)

Tomcat&#xff0c;jdk下载&#xff0c; 远程连接 启动以下服务 高级设置 允许别人连接进来 网上搜索jdk下载即可 双击下一步即可 下一步 输入java&#xff0c;看有没有安装成功 这是安装成功的 Tomcat就可以安装了 和以上操作一样&#xff0c;在网上下载安装包&#xff0c;…

APP开发:用途与未来前景|软件定制开发|网站小程序建设

APP开发&#xff1a;用途与未来前景|软件定制开发|网站小程序建设 APP开发已成为现代科技趋势的一部分&#xff0c;无论是日常生活还是商业领域&#xff0c;都有它的身影。通过开发APP&#xff0c;我们可以将想法、功能和内容转化为直观、易用的移动设备应用程序&#xff0c;满…

java的反应式流

Java的反应式流是一种新的编程模型&#xff0c;它在异步和事件驱动的环境下工作。反应式流的目的是为了解决传统的单线程或者多线程编程模型在高并发和大流量情况下的性能瓶颈。 反应式流的核心是Observable和Observer&#xff0c;Observable表示一个数据流&#xff0c;而Obse…

一、配置环境

一、配置Java环境 确保安装了Java开发工具包&#xff08;JDK&#xff09;&#xff0c;并且设置了JAVA_HOME环境变量。 二、配置FFmpeg环境 如果使用了FFmpeg相关的功能&#xff0c;需要确保系统中已经安装了FFmpeg&#xff0c;并且设置了FFMPEG_HOME环境变量。 ffmpeg安装教…