windows和linux操作Git(序章2)

2024-01-01 16:52
文章标签 linux windows 操作 git 序章

本文主要是介绍windows和linux操作Git(序章2),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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指令就可以回来了。

这篇关于windows和linux操作Git(序章2)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/559908

相关文章

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

Linux之软件包管理器yum详解

《Linux之软件包管理器yum详解》文章介绍了现代类Unix操作系统中软件包管理和包存储库的工作原理,以及如何使用包管理器如yum来安装、更新和卸载软件,文章还介绍了如何配置yum源,更新系统软件包... 目录软件包yumyum语法yum常用命令yum源配置文件介绍更新yum源查看已经安装软件的方法总结软

linux报错INFO:task xxxxxx:634 blocked for more than 120 seconds.三种解决方式

《linux报错INFO:taskxxxxxx:634blockedformorethan120seconds.三种解决方式》文章描述了一个Linux最小系统运行时出现的“hung_ta... 目录1.问题描述2.解决办法2.1 缩小文件系统缓存大小2.2 修改系统IO调度策略2.3 取消120秒时间限制3

Linux alias的三种使用场景方式

《Linuxalias的三种使用场景方式》文章介绍了Linux中`alias`命令的三种使用场景:临时别名、用户级别别名和系统级别别名,临时别名仅在当前终端有效,用户级别别名在当前用户下所有终端有效... 目录linux alias三种使用场景一次性适用于当前用户全局生效,所有用户都可调用删除总结Linux

Linux:alias如何设置永久生效

《Linux:alias如何设置永久生效》在Linux中设置别名永久生效的步骤包括:在/root/.bashrc文件中配置别名,保存并退出,然后使用source命令(或点命令)使配置立即生效,这样,别... 目录linux:alias设置永久生效步骤保存退出后功能总结Linux:alias设置永久生效步骤

Git中恢复已删除分支的几种方法

《Git中恢复已删除分支的几种方法》:本文主要介绍在Git中恢复已删除分支的几种方法,包括查找提交记录、恢复分支、推送恢复的分支等步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录1. 恢复本地删除的分支场景方法2. 恢复远程删除的分支场景方法3. 恢复未推送的本地删除分支场景方法4. 恢复

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动