Git——保姆级别入门

编程入门 行业动态 更新时间:2024-10-18 10:34:39

Git——<a href=https://www.elefans.com/category/jswz/34/1768653.html style=保姆级别入门"/>

Git——保姆级别入门

📢📢📢📣📣📣

哈喽!大家好,我是【一心同学】,一位上进心十足的【Java领域博主】!😜😜😜

✨【一心同学】的写作风格:喜欢用【通俗易懂】的文笔去讲解每一个知识点,而不喜欢用【高大上】的官方陈述。

✨【一心同学】博客的领域是【面向后端技术】的学习,未来会持续更新更多的【后端技术】以及【学习心得】。

✨如果有对【后端技术】感兴趣的【小可爱】,欢迎关注一心同学】💞💞💞

❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️ 


目录

一、安装Git

二、设置用户标识

🌴全局设置

🌴查看本地目录结构

三、版本库

🌵介绍

🌵版本控制系统能做什么?

🌵版本控制系统不能做什么?

四、版本库的创建

🔥步骤一

🔥步骤二

五、文件添加到版本库

🌵准备工作

🔥步骤一

🔥步骤二

🌴分析

六、查看修改的内容

七、版本回退

7.1  准备工作

7.2  版本回退介绍

7.3  查看版本历史记录

7.4  回退操作

7.4.1 理论准备

7.4.2 回退

7.4.3  回退原理讲解

7.4.4 回退小结

八、命令总结

小结


一、安装Git

官网链接:Git - Downloads

选择相应的版本然后根据默认选项,无脑下一步安装即可,非常简单。

下载完成之后,在开始菜单栏里面查找“Git",然后点击 ”Git Bash",如果出现一个命令窗口就说明我们安装成功了

二、设置用户标识

🌴全局设置

当我们安装完成Git后,首先要做的就是设置用户名称和e-mail地址,因为Git是分布式版本控制系统,所以,每个机器都必须自报家门,而当我们每次使用Git进行提交时,都会使用到该信息。

#设置用户名
$ git config --global user.name "yixin"

#设置邮箱地址
$ git config --global user.email 12xxxxx615@qq

设置完成之后,我们可以输入 git config --global --list  来查看我们的标识是否能够成功录入

注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。 

🌴查看本地目录结构

通过上一步的设置后,我们去查找本地的目录

C:\Users\Administrator\ .gitconfig  ——适用于当前登录用户的配置  --global 全局

这个文件就是我们通过全局命令设置后会响应到这里。

 我打开看一下,可以发现我们刚刚设置的信息确实就是在这里!

三、版本库

🌵介绍

版本库又名仓库,英文名repository,可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

🌵版本控制系统能做什么?

版本控制系统可以告诉你每次的改动,比如在第5行加了一个单词“World”,在第8行删了一个单词“Hello”。

🌵版本控制系统不能做什么?

对于图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB,但到底改了啥,版本控制系统不知道,也没法知道。

四、版本库的创建

版本库的创建非常简单,根据以下两个步骤就可以完成版本库的创建。

🔥步骤一

选择一个合适的地方,右击鼠标,点击Git Bash Here,接着命令行创建一个空目录

输入命令:

$ mkdir mygit
$ cd mygit
$ pwd

pwd显示当前目录所在的位置。

🔥步骤二

使用git init命令把这个目录变成Git可以管理的仓库

$ git init
Initialized empty Git repository in C:/Users/Administrator/Desktop/MyBlog/GitStudy/mygit/.git/


现在Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository)。

我们去看一下该文件夹,发现会出现一个.git的目录,这个目录是Git来跟踪管理版本库的,千万不要手动修改这个目录里面的文件,不然里面乱了,就把Git仓库给破坏了

如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见。

五、文件添加到版本库

注意:所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外,但不能跟踪二进制文件的变化,如图片,视频。

🌵准备工作

编写一个readhere.txt文件放在我们刚刚创建的目录mygit下。

内容为:

Git is a version control system.
yixin.

🔥步骤一

用命令git add告诉Git,把文件添加到仓库

$ git add readhere.txt

🔥步骤二

用命令git commit告诉Git,把文件提交到仓库

$ git commit -m "this is my file"
[master f1a9385] this is my file1 file changed, 2 insertions(+)create mode 100644 readhere.txt

🌴分析

🚀git commit命令分析:

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

🚀执行成功后的提示:

1 file changed:1个文件被改动(我们新添加的readme.txt文件);

2 insertions:插入了两行内容(readme.txt有两行内容)。

我们可以多次add不同的文件,然后使用commit一次提交很多文件

六、查看修改的内容

我们往readhere.txt这个文件再添加一行数据(hello),进行修改。

Git is a version control system.
yixin.
hello.

使用git status命令可以让我们时刻掌握仓库当前的状态,我们来进行查看目前文件的状态。

 

现在提示告诉我们 readhere.txt文件已被修改,但是修改未被提交。

那么现在我们想要查看一下我们到底修改了什么内容,则可以使用git diff命令进行查看,我们在命令行输入以下命令:

git diff readhere.txt  

执行结果: 

从中可以看出,我们readhere.txt文件从两行数据变为了三行数据,添加了一行hello.的内容。 

现在我们知道了对readhere.txt文件做了什么修改后,确认后就可以放心的提交到仓库了,步骤还是跟前面一样(先git addgit commit - m)

七、版本回退

7.1  准备工作

我们目前已经是有两个版本

版本一:this is a file

版本二:add hello

现在我们再次修改readhere.txt文件,构成三个版本

我们在第一行后面添加and Git is free software

文件现状:

Git is a version control system and Git is free software.
yixin.
hello.

接着我们进行提交

$ git add readhere.txt
$ git commit -m "git is free software"
[master 81c73b6] git is free software1 file changed, 1 insertion(+), 1 deletion(-)

7.2  版本回退介绍

🚀我们通过这样不断对文件进行修改,然后不断提交修改到版本库里,就好比我们在玩关卡游戏时,我们每通过一关就将其进行存盘,当我们那关通不过,失败了,就回退到最近的存盘进行复活。

🚀Git也是一样,每当你觉得文件修改到一定程度的时候,就可以“保存一个快照”,这个快照在Git中被称为commit。一旦你把文件改乱了,或者误删了文件,还可以从最近的一个commit恢复,然后继续工作,而不是把几个月的工作成果全部丢失。

7.3  查看版本历史记录

现在进行回想一下我们现在拥有的版本数:

版本一this is a file

Git is a version control system.
yixin.

版本二add hello

Git is a version control system.
yixin.
hello.

版本三:git is free software

Git is a version control system and Git is free software.
yixin.
hello.

当我们每提交一个新版本,实际上Git就会把它们自动串成一条时间线;我们可以使用git log命令查看我们的版本历史记录

git log命令:显示从最近到最远的提交日志

我们可以看到3次提交,最近的一次是git is free software,上一次是add hello,最早的一次是this is a file

如果我们觉得命令框输出的信息太多了,那么我们可以在git log 命令的后面添加--pretty=oneline参数。

$ git log --pretty=oneline

执行结果:

输出分析:

可以看到我们版本描述前面都有一大推的字串81c73....),这些便是commit id为什么不是有序1,2,3呢?因为Git是分布式的版本控制系统,如果多人在同一个版本库里工作,那么大家都用1,2,3……作为版本号,那肯定就冲突了。

7.4  回退操作

7.4.1 理论准备

首先Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交(81c73....上一个版本就是HEAD^上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

7.4.2 回退

我们现在开始准备将readhere.txt当前版本git is free software回退到上一个版本,也就是add hello这个版本。

使用git reset命令:

$ git reset --hard HEAD^
HEAD is now at 0fb4610 add hello

现在已经回退一个版本到达add hello这个版本了,我们去查看一下:

$ cat readhere.txt
Git is a version control system.
yixin.
hello.

发现,成功将版本回退了!

我们再继续用git log再看看现在版本库的状态:

细心的小伙伴们,不知道有没有发现一件事,我们最新的那个版本git is free software已经看不到了!

🚀回退方式一

只要我们现在这个命令窗口还没关闭,我们可以顺着往上进行查找,找到那个git is free softwarecommit id是 81c73...,于是就可以指定回到未来的某个版本:

$ git reset --hard 81c73
HEAD is now at 81c73b6 git is free software

提示:版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。

接着我们再去查看一下readhere.txt的内容:

$ cat readhere.txt
Git is a version control system and Git is free software.
yixin.
hello.

可以发现,又跳回我们最新的版本了!

🚀回退方式二

如果我们将窗口关闭了,然后我们最新版本的commit id也忘记了,这种情况该怎么办呢?

遇到这种情况,你可以放心,因为在Git里面,是有后悔药可以吃的,Git里面提供了一个命令git reflog用来记录你的每一次命令

从输出可知,git is free softwarecommit id81c73,现在这种情况我们也可以重新回到最新的版本了。

7.4.3  回退原理讲解

Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把HEAD从指向git is free software:

改为指向add hello: 

Head指向后就顺便把工作区的文件更新了。所以你让HEAD指向哪个版本号,你就把当前版本定位在哪。

7.4.4 回退小结

  • HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id

  • 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本

  • 重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

八、命令总结

我们重新梳理一下本篇博客所用到的所有命令。


#设置用户名

$ git config --global user.name "yixin"

#设置邮箱地址

$ git config --global user.email 12xxxxx615@qq

#查看全局配置信息

$ git config --global --list  


#建立Git可管理的仓库

$ git init

#把文件添加到仓库

$ git add  文件名

#把文件提交到仓库

$ git commit -m "message"

#查看仓库当前的状态

$ git status

#查看修改的内容

$ git diff 文件名

#查看版本历史记录

$ git log 

#查看版本历史记录(简约版)

$ git log --pretty=oneline

#回退版本,如果是回退到前两个版本,则是HEAD^^

$ git reset --hard HEAD^

#查看每一次命令记录
 

$ git reflog


小结

上面就是【一心同学】在网上查阅了不少【技术文章】然后根据【自己思路】整理的【Git入门操作】,相信现在大家已经能够逐渐感受到了【Git】的好用了,但现在距离掌握Git的详细使用还【远远不够】,【一心同学】将会在接下来的博客里继续讲解【Git的使用】。

如果这篇【文章】有帮助到你,希望可以给【一心同学】点个👍,创作不易,相比官方的陈述,我更喜欢用【通俗易懂】的文笔去讲解每一个知识点,如果有对【后端技术】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 【一心同学】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💕💕!

更多推荐

Git——保姆级别入门

本文发布于:2024-02-07 12:40:10,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1756765.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:保姆   入门   级别   Git

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!