git基础命令(一)

news2024/9/28 9:21:12

目录

  • 基础概念
  • git status
  • git add
  • git diff
  • git log
  • git commit
  • 文件可以处于以下三种状态之一
  • 远程存储库与本地存储库
  • 参考

用于知识记录。后续有新的的内容,例子,将持续更新本文档。

基础概念

工作树:git add 之前,变动内容的文件列表(包括新增,修改,删除的内容)
暂存区/索引:变动内容,git add之后,git commit之前。

git status

显示工作树状态
$ git status
添加-s选项将只显示已更改的文件名。
添加-s选项,后面再接-b选项,将在输出中包含分支名称。
在这里插入图片描述

git add

$ git add <filepattern>

git add file
git add *.txt
# 将所有的修改内容,包括删除的全都加到索引
git add .

把文件或目录加到暂存区
-p选项,系统将提示您接受/拒绝已更改文件的特定部分。
-i选项,则可以交互式地暂存更改。

git diff

$ git diff
在默认情况下,diff 命令将会显示工作树和索引之间的差异。(就是git add 之前的内容和最后一次提交(HEAD 指向的提交)之间的差异)
--cached选项,将显示索引和 HEAD 之间的差异。(很有用;git add之后的内容即暂存区内容和最后一次提交( HEAD 指向的提交)之间的差异)

如果您指定提交哈希 commit-id,将会显示工作树和当前的 HEAD/提交之间的差异

在 Git 中,git diff --cached 选项用于比较暂存区(也称为索引区,即 git add 后的状态)和最后一次提交(HEAD指向的提交)之间的差异。这个命令可以让你查看即将提交的更改,而不是工作目录中的更改。

具体来说,git diff --cached 的作用包括以下几点:

  • 比较暂存区和最后一次提交之间的差异:git diff --cached 会显示已经暂存但尚未提交的更改与最后一次提交之间的差异,这样你可以查看即将提交的内容。
  • 查看即将提交的更改:通过这个命令,你可以检查哪些更改已经暂存,即将包含在下一次提交中。这有助于审查和确认即将提交的更改是否符合预期。
  • 用于准备提交前的检查:git diff --cached 常用于在实际提交之前进行最后的检查,确保即将提交的更改是正确的,并且没有遗漏或错误。

总的来说,git diff --cached 是一个有用的命令,可以帮助你审查暂存区的更改,了解即将提交的内容,以便在提交前进行必要的调整和确认。

git log

显示提交日志

git log  # 默认显示当前分支的提交列表
git log filename # 指定显示某个文件的log记录
git log -n 2  #指定显示两条记录

在默认情况下,日志将会显示当前分支的提交列表。
指定文件名将仅显示该给定文件的提交日志

git commit

$ git commit
将更改提交到本地存储库
-a 选项就像一个快捷方式,可以检测更改的文件 (新添加的文件除外),将它们添加到索引, 并提交它们。
-m选项允许您同时提交和指定提交消息。如果您不指定-m,将打开一个文本编辑器,提示您输入提交消息。
--amend 将新的更改加到最新commit里,(已经git commit但还没合入到远端仓库
例如:
git commit -m "feat(xxx): add a.txt"

在Git 中,git commit -a 选项用于将所有已经跟踪(tracked )的文件的更改一起提交到版本库,而不需要先使用 git add 命令将这些更改暂存(stage )起来。这个选项的作用相当于同时执行 git add -u git commit

具体来说,git commit -a 的作用包括以下几点:

  • 自动暂存已跟踪文件的更改:git commit -a 会自动将所有已经被 Git 跟踪的文件的更改暂存起来,这样这些更改就可以被包含在接下来的提交中。
  • 提交更改:一旦文件的更改被暂存,执行 git commit -a 将会打开文本编辑器以编写提交信息,并将这些更改作为一个新的提交保存到版本库中。
  • 方便快捷:使用 -a 选项可以简化提交流程,特别是对于那些只需提交已跟踪文件更改的情况,而不需要添加新文件或者需要忽略一些文件。
    需要注意的是,git commit -a 只会提交已经被 Git 跟踪的文件的更改,对于新添加的文件(untracked files)则不会包含在提交中。如果想要将新添加的文件也包含在提交中,需要先使用 git add 命令将这些文件暂存起来,然后再执行 git commit

文件可以处于以下三种状态之一

  • 已修改
  • 已暂存
  • 已提交

远程存储库与本地存储库

Git 存储库有两种类型:远程和本地。

  • 远程存储库托管在远程服务器上 (这可以在互联网上或异地服务器上;它甚至可以是不同路径中的同一台机器) 并在多个团队成员之间共享。
  • 本地存储库为单个用户托管在本地机器上。

参考

适合初学者的简单 Git 教程

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

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

相关文章

经典数组和指针笔试题解析——C语言

【本节内容】 1. 数组和指针笔试题解析 2. 指针运算笔试题解析 1. 数组和指针笔试题解析 1.1 一维数组 #include <stdio.h> int main() {int a[] { 1,2,3,4 };printf("%zd\n", sizeof(a));printf("%zd\n", sizeof(a 0));printf("%zd\n&qu…

【金三银四】掌趣科技24.3.7 H项目 服务端开发笔试题

考试题型&#xff1a; 不定项选择题 10 道 &#xff0c; 填空题 10 道 &#xff0c; 问答题 2 道 &#xff0c; 编程题 4 道 目录 不定项选择题 10 道填空题 10 道问答题 2 道编程题 4 道 不定项选择题 10 道 在TCP协议中&#xff0c;发送方的窗口大小是由两个关键因素共同决定…

三个表联合查询的场景分析-场景1:a表关联了b表和c表

本场景对应情景如下&#xff1a; 三个数据表&#xff0c;一个表的两个字段分别关联了另外两个表各自的id数据&#xff0c;可能包含多个id&#xff08;两个1对多关联&#xff09;。 目录 数据表准备 需求1、查询c表的列表数据&#xff0c;要求获得关联的b表中的name&#xf…

工业界真实的推荐系统(小红书)-涨指标的方法:召回、排序、多样性、特殊人群、利用交互行为

课程特点&#xff1a;系统、清晰、实用&#xff0c;原理和落地经验兼具 b站&#xff1a;https://www.bilibili.com/video/BV1HZ421U77y/?spm_id_from333.337.search-card.all.click&vd_sourceb60d8ab7e659b10ea6ea743ede0c5b48 讲义&#xff1a;https://github.com/wangsh…

CSDN 编辑器设置图片缩放和居中

CSDN 编辑器设置图片缩放和居中 文章目录 CSDN 编辑器设置图片缩放和居中对齐方式比例缩放 对齐方式 Markdown 编辑器插入图片的代码格式为 ![图片描述](图片路径)CSDN 的 Markdown 编辑器中插入图片&#xff0c;默认都是左对齐&#xff0c;需要设置居中对齐的话&#xff0c;…

项目性能优化—性能优化的指标、目标

项目性能优化—性能优化的指标、目标 性能优化的终极目标是什么 性能优化的目标实际上是为了更好的用户体验&#xff1a; 一般我们认为用户体验是下面的公式&#xff1a; 用户体验 产品设计&#xff08;非技术&#xff09; 系统性能 ≈ 系统性能 快 那什么样的体验叫快呢…

STM32第九节(中级篇):RCC——时钟树讲解(第一节)

目录 前言 STM32第九节&#xff08;中级篇&#xff09;&#xff1a;RCC——时钟树讲解 时钟树主系统时钟讲解 HSE时钟 HSI时钟 锁相环时钟 系统时钟 SW位控制 HCLK时钟 PCLKI时钟 PCLK2时钟 RTC时钟 MCO时钟输出 6.2.7时钟安全系统(CSS&#xff09; 小结 前言 从…

基于HarmonyOS ArkTS中秋国庆祝福程序、以代码之名,写阖家团圆祝福

中秋、国庆双节将至&#xff0c;作为程序员&#xff0c;以代码之名&#xff0c;表达对于阖家团圆的祝福。本节将演示如何在基于HarmonyOS ArkUI的SwiperController、Image、Swiper等组件来实现节日祝福轮播程序。 规则要求具体要求如下&#xff1a; 1、根据主题&#xff0c;用…

遗嘱消息(Will Message)介绍与示例 _ MQTT 5.0 特性详解

什么是 MQTT 遗嘱消息&#xff1f; 在现实世界中&#xff0c;一个人可以制定一份遗嘱&#xff0c;声明在他去世后应该如何分配他的财产以及应该采取什么行动。在他去世后&#xff0c;遗嘱执行人会将这份遗嘱公开&#xff0c;并执行遗嘱中的指示。 在 MQTT 中&#xff0c;客户端…

honle电源维修UV电源控制器维修EVG EPS60

好乐UV电源控制器维修&#xff1b;honle控制器维修&#xff1b;UV电源维修MUC-Steuermodul 2 LΛmpen D-82166 主要维修型号&#xff1a; EVG EPS 60/120、EVG EPS 100、EVG EPS200、EVG EPS 220、EVG EPS 340、EVG EPS40C-HMI、EVG EPS60 HONLE好乐uv电源维修故障包括&#…

Python实时追踪关键点组成人体模型

项目背景 最近遇到这样一个需求&#xff1a; 1&#xff1a;实时追踪关键点组成人体模型&#xff08;手臂包括三个点&#xff1a;手腕&#xff0c;肘关节&#xff0c;双肩&#xff1b;腿部包括胯骨&#xff0c;膝盖&#xff0c;脚踝&#xff09; 2&#xff1a;运用追踪到的关键…

【c++】string类的使用及模拟实现

1.我们为什么要学习string类&#xff1f; 1.1 c语言中的字符串 我们先了解一下什么是OOP思想 OOP思想&#xff0c;即面向对象编程&#xff08;Object-Oriented Programming&#xff09;的核心思想&#xff0c;主要包括“抽象”、“封装”、“继承”和“多态”四个方面。 抽象…

Day16 面向对象进阶——接Day15

Day16 面向对象进阶——接Day15 文章目录 Day16 面向对象进阶——接Day15一、抽象类及抽象方法二、接口三、多态四、对象转型五、内部类 一、抽象类及抽象方法 //抽象类 public abstract class 类名{//抽象方法public abstract void method(); }1、抽象方法交给非抽象的子类去…

轻松驾驭时间流:MYSQL日期与时间函数的实用技巧

​&#x1f308; 个人主页&#xff1a;danci_&#x1f525; 系列专栏&#xff1a;《MYSQL应用》&#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 轻松驾驭时间流&#xff1a;MYSQL日期与时间函数的实用技巧 MYSQL日期时间函数是数据库操作中不可…

第五十八回 吴用赚金铃吊挂 宋江闹西岳华山-飞桨图像分割套件PaddleSeg初探

鲁智深被贺太守抓住&#xff0c;押入死牢。武松得信后&#xff0c;正想回梁山报信&#xff0c;正好戴宗来了&#xff0c;就请戴宗赶快回梁山搬救兵。宋江说兄弟有难&#xff0c;怎能不救&#xff1f; 于是带了十六个头领来到少华山。 因为华州城池厚壮&#xff0c;宋江等无计可…

Selenium 自动化 —— 入门和 Hello World 实例

Selenium 是什么 Selenium 是一个用于自动化网页浏览器操作的工具&#xff0c;它支持多种浏览器和多种操作系统。主要用于测试 web 应用程序的功能&#xff0c;也可用于执行一些基本的浏览器操作任务&#xff0c;例如自动化表单填写、网页导航等。 Selenium 是一个开源项目&a…

扒带和扒谱的区别 FL Studio怎么扒带 扒带编曲制作 扒带简单歌曲

在许多业余音乐爱好者们的眼里&#xff0c;扒带和扒谱是同一种东西。诚然&#xff0c;扒带和扒谱的确非常相似&#xff0c;但是从严格的意义上来说&#xff0c;这二者还是有一定的区别。今天我们就来说一说扒带和扒谱的区别&#xff0c;FL Studio怎么扒带。 FL Studio21中文官网…

.Net使用ElasticSearch

文章目录 前言主体内容一.Kibana中ElasticSearch的基础操作1.GET&#xff08;查询&#xff09;1.POST&#xff08;新增&#xff09;1.PUT&#xff08;修改&#xff09;1.DELET&#xff08;删除&#xff09; 二.在.Net中&#xff0c;对ElasticSearch进行基础操作1.DotNet连接Ela…

Docker常见指令

1.docker search mysql &#xff1a;从docker镜像仓库搜索和mysql有关的镜像 docker search mysql 2.docker pull mysql &#xff1a;从docker仓库拉取mysql镜像 docker pull mysql 3.docker run mysql &#xff1a;启动mysql镜像 docker run mysql 4.docker ps &#xff…

C语言学习--字符和字符串

目录 1.字符 字符输入--scanf 字符输入--getchar 2.字符串 字符串输入--scanf 字符串输入--gets 1.字符 字符输入--scanf C语言scanf输入时缓冲区问题 scanf函数是标准输入流&#xff08;从键盘接收数据)&#xff0c;接收的数据放入输入缓冲区中&#xff0c;其中就包括…