git命令的使用

news2024/11/23 19:02:13

1. 查看文件

git cat-file -p

仓库路径下右键 Git Bash Here 打开git命令窗口:

复制某个文件的版本号:

粘贴到git命令窗口,会显示文件的提交信息

查看 tree后面的版本号,则会看到详细提交信息:

查看hello.cpp前面的版本号,则会查看到提交到的详细内容:


2. 常用命令

2.1 仓库操作

2.1.1 仓库初始化 git init

创建local-test-02目录,在该文件夹中右键菜单打开git命令窗口,

输入git init命令初始化仓库,初始化后文件夹下会生成.git目录:

与客户端软件创建仓库不同的是:

客户端软件创建仓库时会默认初始化main分支信息的文件,但git init命令不会。 


2.1.2 仓库克隆 git clone

克隆远程仓库到本地。

复制远程仓库的地址:

git clone命令克隆到本地:

克隆的同时,可将远程仓库在本地重命名:


2.1.3 仓库配置 git config

配置自己的用户名和邮箱,可以知道操作仓库人员的身份标识。

如配置某一个仓库,需要进入到该仓库目录下使用git config进行配置:

 

对所有仓库设置用户名和邮箱:


2.2 文件操作 

首先创建一个新的仓库local-rep-1,并用git init命令初始化。

2.2.1 查看工作区、暂存区状态 git status


2.2.2 添加文件 git add

在local-rep-1中创建文件a.txt,并在其中写入内容;

再次使用git status命令查看:

此时a.txt为“Untracked(未跟踪)”状态,表示git未将该文件管理起来。

使用git add指令将啊a.txt文件添加到暂存区,再使用git status命令查看:

可使用git rm --cached命令将文件从暂存区移除:

补充:也可使用通配符进行批量操作,如将所有的txt文件加入到暂存区:

git add *.txt


2.2.3 将暂存区的文件提交到仓库中 git commit

将a.txt提交到仓库:

-m表示备注提交信息。

再次使用git status查看:

2.2.4 查看历史提交信息 git log

--oneline:简要地显示。


接着上面地commit操作,修改a.txt中的内容后,使用git status查看:

此时仍然需要先add再commit:

删除a.txt后:


2.2.5 文件恢复 git restoregit resetgit revert

新建仓库local-rep-2,并初始化;

创建a.txt,add并commit。

case 1:若删除a.txt,但未commit,若想恢复,则使用git restore命令恢复:

case 2:若删除a.txt,并commit,则git restore无法恢复:

此时需要使用git reset重置到某个版本的提交来恢复a.txt:

但此时如上,删除的提交信息丢失。

case 3:若想恢复删除且提交的文件a.txt,但不想丢失历史提交信息,此时使用git revert指令.

注意:使用git revert恢复到某个版本n时,需要将版本号指定为版本n的下一个提交的版本号。

如下:


2.3 分支操作

新建仓库local-rep-3并初始化。

2.3.1 创建分支 git branch

创建分支user,但出错:

因为命令行初始化仓库时,仓库中无任何提交,也无任何分支,因此无法创建分支。

此时需要创建一个提交或空提交,然后才可以创建分支,如下:

2.3.2 查看当前仓库所有分支 git branch -v

 

2.3.3 切换分支 git checkout

2.3.4 创建并切换分支 git checkout -b

2.3.5 删除分支 git branch -d

注意:不能删除当前所在分支,否则会报错,如下:


2.3.6 分支合并 git merge

注意:将分支A合并到分支B,则必须切换到分支B再进行合并操作。

分支goods中有a.txt文件,分支user中有b.txt文件。

此时需要将user分支合并到goods分支,则先切换到goods分支,再进行合并操作:

合并后,goods分支下有a.txt和b.txt:

2.3.7 分支合并冲突解决

在分支user和goods下都创建c.txt文件,并写入内容后提交,然后将user分支合并到goods分支,会发生冲突:

此时需要打开c.txt文件,手动编辑文件解决冲突:

编辑完成后,提交:


2.3.8 标签 git tag

新建仓库local-rep-4并初始化.

创建a.txt并提交;

再修改a.txt中的内容提交;

创建b.txt并提交;

查看提交情况:

查看某个版本及之前的提交情况:

但是版本号太长,此时可以给版本号起别名:

git tag 标签名 版本号(版本号:git log或git log --online查看的版本号都可)

git tag 查看所有标签

git log [--oneline] 标签 查看某个标签及之前的提交信息

git tag -d 标签名 删除某个标签

2.3.9 使用标签创建分支

分支即引用某个版本号,从该版本号的地方开始其他的新的操作。

添加标签并创建分支:

 

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

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

相关文章

第8章 泛型程序设计

文章目录 为什么要使用泛型程序设计类型参数的好处谁想成为泛型程序员 定义简单泛型类泛型方法类型变量的限定泛型代码和虚拟机类型擦除转换泛型表达式转换泛型方法类型擦除与多态会发生冲突桥方法实现多态桥方法与可协变的返回类型 调用遗留代码 限制与局限性泛型类型的继承规…

基于SpringBoot+Mybatis+Mysql+vue校园二手交易市场

基于SpringBootMybatisMysqlvue校园二手交易市场 一、系统介绍1、系统主要功能:2、环境配置 二、功能展示1.主页(客户)2.登陆、注册(客户)3.我的购物车(客户)4.我的商品详情(客户)5.我的商铺(客户、商家)6.我的信息&am…

zabbix5配置QQ邮件告警

1、服务端配置 编写邮件发送脚本 [fieldyangwww alertscripts]$ pwd /usr/lib/zabbix/alertscripts [fieldyangwww alertscripts]$ ll 总用量 8 -rwxr-xr-x 1 root root 136 5月 16 23:28 mail.sh -rwxr-xr-x 1 root root 751 5月 16 23:56 send_mail.py [fieldyangw…

信息与编码 SCUEC DDDD 期末考试整理(2)

1.求下面三种信道的信道容量 行列数量相等的情况 行比列多的情况 列比行多的情况 小贴士 2.客观世界三大基本要素:物质,能量,信息。 3.信息:是对事物运动状态和变化方式的表征,它存在于任何事物之中,可以…

机器学习算法系列(六)-- 朴素贝叶斯

.# 机器学习算法系列之 – 朴素贝叶斯 朴素贝叶斯法是基于概率统计,特征条件独立假设的分类方法,是一种非常常用的机器学习算法;通常用于处理文本分类和情感分析等自然语言处理任务中。相对于其他复杂的模型,朴素贝叶斯算法具有简…

提防利用 zip 域的新型网络钓鱼技术“浏览器中的文件归档器”

“浏览器中的文件存档器”是一种新的网络钓鱼技术,当受害者访问 .ZIP 域时,网络钓鱼者可以利用该技术。当受害者访问 .ZIP 域时,网络钓鱼者可以使用一种称为“浏览器中的文件存档器”的新型网络钓鱼技术在 Web 浏览器中“模拟”文件存档器软件。安全研究员 mr.d0x 详细介绍了…

A-可达鸭数学

题目链接 示例1 输入 9 1 -1 0 6 54 -8 520 1907 -2023输出 w m b wmb wmbbb mbw wmbwwmw wbmbmmbm mbwmbbwm备注: 请注意,在可达鸭数学里是没有负号的。 请注意,不要输出多余的前导b,否则会被判Wrong Answer。(例如&#xff…

英文论文(sci)解读复现【NO.17】旋转至参加:卷积三重注意力模块

此前出了目标检测算法改进专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读发表高水平学术期刊中的 SCI论文&a…

Elasticsearch第一天学习笔记

目录 一、Elasticsearch概述 二、elasticsearch入门 一、Elasticsearch概述 (一)elasticsearch是什么? The Elastic Stack, 包括 Elasticsearch 、 Kibana 、 Beats 和 Logstash (也称为 ELK Stack )。 Elaticsear…

数据库之主键、联合主键

参考文章:数据库之主键、联合主键 一、主键、联合主键简介 数据库主键是用来标记数据记录唯一性的列,不能为空,不能重复。 主键具有的特点:唯一性、非空性。 数据库联合主键:可以将多个列同时作为主键。&#xff0…

SQL语句之DQL语言

说明:DQL(Data Query Language,数据查询语言),用来查询数据库表中的记录。有的书中,会把DQL语言放入到DML(Data Manipulation Language,数据操作语言:数据的增删改&#…

金融数据获取:通过Ajax跳转的网页怎么爬?以东方财富基金净值数据为例

你是否碰到过点击网站上的按钮或链接,网页数据进行了刷新,但浏览器上显示的网址却没有任何变化的情况,这其实就是利用Ajax跳转的网页。本期笔者将以东方财富网为例展示如何获取Ajax跳转的网页内容,本文主要内容如下: 目…

MyBatis(多表查询,动态SQL的使用)

目录 多表查询 查询文章详情 查询一个用户底下的所有文章 动态SQL的使用 if 标签 trim 标签 where 标签 set 标签 foreach 标签 多表查询 现在有俩张表,一张是文章表,一张是用户表.如下: 查询文章详情 我们现在想查询得到一张表,表里面的内容和文章表大多一致,只是要在…

银行从业资格证(初级) 5天零基础拿证攻略【个人经历,亲测】

我的科目:《法律法规》、《个人理财》 方法 直接做真题,做真题错题总结归纳。 教材可买可不买,时间不够可以不看教材。 可以买天一金融的真题汇编,它附赠一个考点整理的小册子。 一定要自己整理知识框架。 看个人习惯选择网上做…

chatgpt赋能python:Python列表中随机抽取6个元素的简单方法

Python列表中随机抽取6个元素的简单方法 在Python编程中,列表是一种常用的数据类型,它允许我们存储和操作一系列数据。有时候,我们需要从列表中随机抽取一些元素,比如从一组名字中随机选择几个人参加抽奖等。本文将介绍如何使用P…

MIT 6.824 lab distributed system 分布式系统

https://youtu.be/cQP8WApzIQQ 概念 为什么需要分布式系统? high performanceparallelism:分布式系统可以实现CPU、内存、硬盘的并行运行fault tolerancephysical:security / isolated 分布式系统的困难 concurrency:各个并行的…

【unity小技巧】使用贝塞尔曲线实现导弹随机攻击敌人,也可以用于拾取物品

文章目录 先看效果代码实现1.导弹代码2.玩家生成导弹代码3.玩家挂载代码4.导弹挂载代码先看效果 代码实现 1.导弹代码 记得配置敌人为enemy标签 using System.Collections; using System.Collections.Generic; using

Nautilus Chain:独特且纯粹的创新型 Layer3

以 Layer3 架构为主要特点的模块化公链 Nautilus Chain 即将在近期上线主网,这也进一步引发了行业关于 Layer3 的讨论。 实际上,在2022年以太坊的创始人 Vitalik 提出了三大目标:Layer2 用于扩展,Layer3 用于定制功能,…

Transformer模型原理—论文精读

文章目录 前言模型架构Encoder和DecoderEncoderDecoder AttentionFFNEmbeddings和Positional EncodingEmbeddingsPositional Encoding 总结 前言 今天来看一下Transformer模型,由Google团队提出,论文名为《Attention Is All You Need》。论文地址。 正如…

Openwrt_XiaoMiR3G路由器_刷入OpenWrt

刷入Openwrt之前请保证小米R3G路由器已经刷入Breed控制台固件。 刷入Breed请参考: Openwrt_XiaoMiR3G路由器_刷入Breed固件 路由器具体配置参考 小米路由器3G参数 - 小米商城 既然要刷入OpwnWrt就需要线编译固件,使用lede的OpenWrt源码编译。 进入 …