windows和linux操作Git(序章2)

news2024/11/26 19:50:05
Git 分布式版本控制系统(序章1)

## Linux 下安装 Git🔺

## Git命令大全🔺

windows和linux通用

安装完 Git 后,需要进行配置,如姓名、Email 等

git config --global user.name "你的名字"git config --global user.email 你的邮箱名@主机名.域名

# 例如

git config --global user.name "San Zhang"git config --global user.email san-zhang@outlook.com

设置 Git 默认使用的文本编辑器,一般可能会是 Vi 或者 Vim。如果你有其他偏好,可以进行重新设置:

git config --global core.editor 文本编辑器名字

还有一个比较常用的是,在解决合并冲突时使用哪种差异分析工具。

git config --global merge.tool 分析工具名字

要检查已有的配置信息,可以使用 git config --list 命令:。有时候会看到重复的变量名,那就说明它们来自不同的配置文件(比如 /etc/gitconfig 和~/.gitconfig),不过最终 Git 实际采用的是最后一个。也可以直接查阅某个环境变量的设定,只要把特定的名字跟在后面即可,像这样:

git config user.name

## Git 创建仓库🔺

1.首先用Git Bash打开D盘

$ cd D:

2.在D盘中创建一个目录

(空文件夹)MyGit

$ mkdir learngit

3. 打开创建的空目录

输入pwd可以查看当前目录的地址可以发现,目录位于D盘下的MyGit文件

$ pwd

4.把目录变成可以管理的仓库

$ git init

这样仓库就建好了,此时可以发现learngit中多了一个.git它就是用来跟踪和管理仓库中的文件。

## 仓库中添加文件🔺

git可以跟踪文本文件的改动,比如txt,代码等,会告知你在第几行添加了什么文字,在第几行改动什么单词,但是git无法跟踪word文件,所以这里建议都使用VS code来作为文本记录工具。下载安装vs code,然后新建一个readme.txt文件并将其保存到learngit文件中去。

在readme文件中键入几句内容:

git is a version control system

git 是一个可以免费使用的软件

$ sudo apt git

vs code安装指南

VScode安装教程

把文件添加到仓库中

$ git add readme.txt

把文件提交到仓库中

$ git commit -m "wrote a readme file"

git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。

git commit命令执行成功后会告诉你,1 file changed:1个文件被改动(我们新添加的readme.txt文件);3 insertions:插入了两行内容(readme.txt有两行内容)。为什么Git添加文件需要add,commit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:

$ git add file1.txt$ git add file2.txt $ git add file3.txt$ git commit -m "add 3 files."

 ## 查看修改文件内容🔺

接下来我们在vs code 中对readme文件进行内容的修改:

git is a version control system

git 是一个可以免费使用的软件,并且使用的人很多。

$ cd D:

然后运行:

$ git status

git status表示查看当前仓库的状态,git status告诉我们,将要被提交的修改包括readme.txt,下一步,就可以放心地提交了git commit。提交后,我们再用git status命令看看仓库的当前状态。

上面的命令输出告诉我们,readme.txt被修改过了(modified: readme.txt

),但还没有准备提交的修改(no changes added to commit)。虽然Git告诉我们readme.txt被修改了,但如果能看看具体修改了什么内容,自然是很好的。比如你休假两周从国外回来,第一天上班时,已经记不清上次怎么修改的readme.txt,所以,需要用git diff这个命令看看:

$ git diff readme.txt \\查看具体被修改的内容

git diff顾名思义就是查看difference,可以从上面的命令输出看到,我们原本的内容(红色字体),和修改后的内容(绿色字体)的对比。知道了对readme.txt作了什么修改后,再把它提交到仓库就放心多了。提交修改和提交新文件是一样的两步:

$ git add readme.txt$ git status$ git commit -m "add word and code"$ git status

现在我们已经学会了修改文件并将修改后的文件提交到Git库中。

 ## 检查修改次数、时间和修改人🔺

上述只是修改了一次,当我们对一个文件进行多次修改,并存到Git库中去。例如:当我们在修改一次readme的内容:

git is a version control system,that distributed

git 是一个可以免费使用的软,并且使用的人很多,用起来也方便

$ cd D:

在实际工作中,我们脑子里怎么可能记得一个几千行的文件每次都改了什么内容,不然要版本控制系统干什么。版本控制系统肯定有某个命令可以告诉我们历史记录,在Git中,我们用git log命令查看:

$ git log$ git log --pretty=oneline // 只显示修改

 ## 返回历史版本🔺

当我们感觉当前修改的版本不如历史版本的时候,我们想让readme文件回到上一步应该如何处理?

首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交cbd208f2ab81415a2315365c87a303982a4a4fae,上一个版本就是HEAD^, 对应的edaafe8159efb2dd00628dcc80c1a69c51ea38ca,网上100个版本写成HEAD~100。

$ git reset --hard HEAD^

那么现在问题来了,我感觉这个HEAD^的版本不如HEWD的版本好,我想回到刚才那个版本怎么办。如果命令窗口没关闭的话找HEAD对应的版本号。版本号是唯一的。例子中HEAD对应的版本号是cbd208f2ab81415a2315365c87a303982a4a4fae,取前几位就好了,Git会自己找。

$ git reset --hard cbd208

那么命令窗口被关闭咋办?

Git提供了一个命令git reflog可以记录你的每一次命令(版本号):

$ git reflog

还可以看见每一次的(commit)操作信息,然后再使用get reset指令就可以回来了。

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

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

相关文章

CSS 纵向底部往上动画

<template><div class"container" mouseenter"startAnimation" mouseleave"stopAnimation"><!-- 旋方块 --><div class"box" :class"{ scale-up-ver-bottom: isAnimating }"><!-- 元素内容 --&g…

Nginx 反向代理负载均衡

Nginx 反向代理负载均衡 普通的负载均衡软件&#xff0c;如 LVS&#xff0c;其实现的功能只是对请求数据包的转发、传递&#xff0c;从负载均衡下的节点服务器来看&#xff0c;接收到的请求还是来自访问负载均衡器的客户端的真实用户&#xff1b;而反向代理就不一样了&#xf…

[Echarts使用]:bug记录

问题1&#xff1a; z / z2 / zlevel of displayable is invalid, which may cause unexpected errors // 在series 选项中设置zlevel、z 属性即可解决 let option: echarts.EChartsCoreOption {...,series: {name: data.name,type: "line",smooth: true,showSymbol:…

计算机毕业设计——springboot养老院管理系统 养老院后台管理

1&#xff0c;绪论 1.1 背景调研 养老院是集医疗、护理、康复、膳食、社工等服务服务于一体的综合行养老院&#xff0c;经过我们前期的调查&#xff0c;院方大部分工作采用手工操作方式,会带来工作效率过低&#xff0c;运营成本过大的问题。 院方可用合理的较少投入取得更好…

【zookeeper选举源码分析】

文章目录 为什么要看源码&#xff1a; 1、提升技术功底&#xff1a;学习源码里的优秀设计思想&#xff0c;比如一些疑难问题的解决思路&#xff0c;还有一些优秀的设计模式&#xff0c;整体提升自己的技术功底 2、深度掌握技术框架&#xff1a;源码看多了&#xff0c;对于一个新…

2024-01-01 力扣高频SQL50题目 练习笔记

1. 1661求机器平均运行时间 在做这道题的时候&#xff0c;我遇到了4个问题 # 求平均的问题 如何找到个数? -> 相减对应列值后,直接average 就行。因为avg就是自动确定要除的个数&#xff08;当然要联合正确的group by 分组&#xff09; # 怎么根据machine_id和process_id…

解决npm,pnpm,yarn等安装electron超时等问题

我在安装electron的时候&#xff0c;出现了超时等等各种问题&#xff1a; &#xff08;RequestError: connect ETIMEDOUT 20.205.243.166:443&#xff09; npm yarn&#xff1a;Request Error: connect ETIMEDOUT 20.205.243.166:443 RequestError: socket hang up npm ER…

ThreadLocal共享变量

一、ThreadLocal 我们知道多线程访问同一个共享变量时&#xff0c;会出现线程安全问题&#xff0c;为了保证线程安全开发者需要对共享变量的访问操作进行适当的同步操作&#xff0c;如加锁等同步操作。 除此之外&#xff0c;Java提供了ThreadLocal类&#xff0c;当一个共享变…

python实现Ethernet/IP协议的客户端(三)

Ethernet/IP是一种工业自动化领域中常用的网络通信协议&#xff0c;它是基于标准以太网技术的应用层协议。作为工业领域的通信协议之一&#xff0c;Ethernet/IP 提供了一种在工业自动化设备之间实现通信和数据交换的标准化方法。python要实现Ethernet/IP的客户端&#xff0c;可…

Spring Cloud Gateway + Nacos 灰度发布

前言 本文将会使用 SpringCloud Gateway 网关组件配合 Nacos 实现灰度发布&#xff08;金丝雀发布&#xff09; 环境搭建 创建子模块服务提供者 provider&#xff0c;网关模块 gateway 父项目 pom.xml 配置 <?xml version"1.0" encoding"UTF-8"?…

数据结构OJ实验9-图存储结构和遍历

A. 图综合练习--构建邻接表 题目描述 已知一有向图&#xff0c;构建该图对应的邻接表。 邻接表包含数组和单链表两种数据结构&#xff0c;其中每个数组元素也是单链表的头结点&#xff0c;数组元素包含两个属性&#xff0c;属性一是顶点编号info&#xff0c;属性二是指针域n…

数据结构期末复习(fengkao课堂)

学习数据结构时&#xff0c;以下建议可能对您有所帮助&#xff1a; 理解基本概念&#xff1a;首先&#xff0c;确保您理解数据结构的基本概念&#xff0c;例如数组、链表、栈、队列、树、图等。了解它们的定义、特点和基本操作。 学习时间复杂度和空间复杂度&#xff1a;了解如…

【LeetCode:34. 在排序数组中查找元素的第一个和最后一个位置 | 二分】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

simulink代码生成(八)——应用串口输入的16进制数

1、串口输入的是16进制数&#xff0c;如何将其应用到算法中&#xff1f; 串口输入的数据是16进制数&#xff1b;要解决这个问题必须要理解matlab的数据类型&#xff1b;数据类型一般用来标明数据的系列参数&#xff0c;包含有精度、动态范围、性能和存储的资源。模型会默认使…

你好2024!

大家好&#xff0c;我是小悟 2024年1月1日&#xff0c;新年的第一天&#xff0c;阳光明媚&#xff0c;空气中弥漫着希望和新的开始的气息。在这个特别的日子里&#xff0c;大家纷纷走出家门&#xff0c;迎接新年的到来。 街道上&#xff0c;熙熙攘攘的人群中&#xff0c;有孩…

开放原子训练营(第四季)TobudOS——TobudOS内核移植(keil版)

前言 12月份参加了开放原第四季线下活动&#xff0c;觉得很有意义。通过这篇博文&#xff0c;记录一下这次活动进行的移植TobudOS内核的过程&#xff0c;下面就让我们开始吧。 开发板介绍 本次使用的开发板型号为STM32H750&#xff0c;当然了&#xff0c;其他型号的开发版也…

Django 实现Web便签

效果图 会用到的知识 目录结构与URL路由注册request与response对象模板基础与模板继承ORM查询后台管理 实现步骤 1. terminal 输入 django-admin startapp the_10回车 2. 注册&#xff0c; 在 tutorial子文件夹settings.py INSTALLED_APPS 中括号添加 "the_10" IN…

C++日期类的实现

前言&#xff1a;在类和对象比较熟悉的情况下&#xff0c;我们我们就可以开始制作日期表了&#xff0c;实现日期类所包含的知识点有构造函数&#xff0c;析构函数&#xff0c;函数重载&#xff0c;拷贝构造函数&#xff0c;运算符重载&#xff0c;const成员函数 1.日期类的加减…

pyqt5用qtdesign设计页面时,去掉页面的空白界面、边框和标题栏

前言 Windows默认的标题栏有时候自己觉得不太美观&#xff0c;就想自己设计一个&#xff0c;然后把默认的去掉&#xff0c;并且把长方形的边框和多余的空表界面去掉&#xff0c;就是下图中圈出来的区域&#xff1a; 去掉之后的效果如图&#xff1a; 这样我们就可以自定义窗…

SpringBoot + Vue 抖音全平台项目

简介 本项目是一个短视频平台&#xff0c;拥有热度排行榜&#xff0c;热门视频&#xff0c;兴趣推送&#xff0c;关注推送&#xff0c;内容审核等功能。 源码下载 网盘 (访问密码: 8418) 登录/注册 首页 创作中心 架构设计 上传视频业务流程 视频推送流程 1.用户订阅分类后…