【全栈计划——开发工具之Git】第一章 —— Git初体验以及版本控制的上手到熟练

前言 —— 开源思想、Git、个人Demo的碰撞

自己也确实步入这个笔者自己十分不愿意面对的暑假吧。但是既来之,则安之啦,充分的利用这个暑假打磨自己,因此自己开展了全栈计划的专栏,记录为了能够提升自己,为了能够拿到offer而做的努力,同时,该专栏也会成为十分详细系统的教学专栏。
集中一点,登峰造极,将自己敲打为一把利刃,我已经不想再变回那个什么都无法做到的自己了。
在这里插入图片描述
其一:自己假期的项目主要是使用Unity进行开发游戏以及嵌入式两个方面,都是用于应付比赛了。应该不会没有十分系统的学习大纲,我需要什么技术,我就回头学习什么技术。比如我现在正在回首弥补的Git的操作。
其二:是听完CSDN王路敏前辈讨论开源的事儿【直播回放】,以及自己确实在参与王总的开源计划。自己这块会不停琢磨的。
关于开源的文档
在这里插入图片描述

所以无论如何,这个Git是学定用定了。
【全栈计划——开发工具之Git】的系列文章是差不多写完啦,还差一个如何访问GitHub。
但是始终还是入门或者中等操作,随着我学习的深入,我自己参与或者发起的项目增多,我一定会完善上Git高级操作的项目内容。


倘若愿意让杨枝陪着大家一起进步,可以先订阅一下专栏嗷,因为后面会开为付费专栏。

在这里插入图片描述

Git & GitHub 的认识

对于Git的作用,我觉得猴子都能懂的Git入门在入门篇中描述还是挺生动可爱的。

在这里插入图片描述
但是从我自己的观点来说:为协作开发而生。


在这里插入图片描述

① Git是一个免费和开源的分布式版本控制系统,因为它记录一个文件或一组文件随时间的变化,以便以后可以调用特定版本,所以能够精准的控制更改过的每一个版本,它是当前最主流的分布式版本控制系统。
② 这种分布式版本控制系统可以帮助使用者保存所有的修改记录,使用版本号进行区分,也是利用版本号精准的控制修改过的每一个版本。
③ 有了这种系统,我们可以随时浏览历史版本,将改错的文件还原到指定的版本,可以对比不同版本的文件差别,有恢复和保护的作用。

在这里插入图片描述

GitHub是主流的代码托管平台,就理解为一个存放和管理代码的网盘都不为过吧。
它支持咱们将自己的项目代码上传到这个代码托管平台,也可以从这个平台上下载代码到自己本地使用。

Git 是(开源)工具,GitHub是一个运行Git的平台。
情不自禁让我想起了Unity 和 UnityHub

在这里插入图片描述

Git基础

Git 的安装

Tips:本篇文章,以及后续文章中的Git操作主要是使用自身下载之后的Git Bash窗口通过代码来进行操作。
在这里插入图片描述

倘若觉得这种不太友好,可以使用的TortoiseGit的图形面界面来实现操作。


跟着《猴子都能懂的Git入门》来进行操作,熟悉一些Git的流程。

猴子都能懂的Git入门
在这里插入图片描述


最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑。不过,慢慢地有人把它移植到了Windows上。现在Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了。

要使用Git,第一步当然是安装Git了。根据你当前使用的平台来阅读下面的文字:

在Windows上安装Git
在Windows上使用Git,可以从Git官网直接下载安装程序,然后按默认选项安装即可。
在这里插入图片描述

安装完成后,在开始菜单里找到Git->Git Bash,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
在这里插入图片描述

安装完成后,还需要最后一步设置,在命令行输入:

$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"

因为Git是分布式版本控制系统,所以,对于每个使用它的机器都必须自报家门:你的名字和Email地址。

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

② 在Mac 上安装Git
如果你正在使用Mac做开发,有两种安装Git的方法。

法一:安装homebrew,然后通过homebrew安装Git,具体方法请参考homebrew的文档

法二(推荐):直接从AppStore安装XcodeXcode集成了Git。
在这里插入图片描述

不过默认没有安装,你需要运行Xcode,选择菜单Xcode->Preferences,在弹出窗口中找到Downloads,选择Command Line Tools,点Install就可以完成安装了。

③ 在Linux上安装Git
首先,你可以试着输入git,看看系统有没有安装Git:

$ git
The program 'git' is currently not installed. You can install it by typing:
sudo apt-get install git

Linux会十分友好的反馈出有没有安装Git,以及会告诉你如何安装Git。

如果你碰巧用Debian或Ubuntu Linux,通过一条sudo apt-get install git就可以直接完成Git的安装,非常简单。

如果是其他Linux版本,可以直接通过源码安装。先从Git官网下载源码,然后解压,依次输入:./configmakesudo make install这几个命令安装就好了。


也可以参考官方文档中写的安装方式Git安装——(需要翻译一下)

Git 的工作区、暂存区、版本库

几者的关系大致如下:
在这里插入图片描述
工作区可以理解为是自己计算机本地的创建的一个文件夹啦。
至于暂存区和版本库,我觉得暂时可以就按照字面意思理解,不必精准解读其中的含义吧,因为对我们写代码没有什么帮助:
暂存区暂存add后的本地文件,版本库存放新一个版本状态的提交文件。

在这里插入图片描述

Git 的九个基本操作

直接跟着我的操作走一遍,差不多就对Git的基础操作蛮清楚了。

前五个基本操作

在这里插入图片描述

拓展:
此处也可以积累一个关于Linux指令创建文件夹的操作

mkdir GitDemo

在这里插入图片描述
进入该文件夹

cd gitDemo

在这里插入图片描述

① 初始化操作 —— git init

git init

这个操作将在此文件夹下创建一个名为的新子目录.git,其中包含所有必要的存储库文件—— 一个 Git存储库骨架。这是Git 能够对该该文件夹进行操作的基础。
在这里插入图片描述
我现在手动创建一个文件demo.txt,并在其中编撰一定内容,用于后续的演示。
在这里插入图片描述

② 查看状态 git status

git status

学会查看状态其实蛮重要的,因为Git 通过窗口显示的出来的提示可以很好地指导我们进行后续的操作的
在这里插入图片描述

③ 暂存 git add

git add

在这里插入图片描述
咱们重新看看状态,看看有没有什么提示喃
在这里插入图片描述
那么就老老实实进行提交啦
④ 提交 git commit
提交的指令是这种的

git commit -m"本次提交想要备注的内容,可以使用英语,也可以使用中文"

在这里插入图片描述
假如没有写 -m"需要备注的内容",此时会进入大多数人不太熟悉的Vim编辑窗口了。
在这里插入图片描述
可以参考这位博主的博客了
Git Vim编辑器输入内容、保存和退出操作

编辑模式:
在这里插入图片描述
命令模式:
在这里插入图片描述
键入:wq表示保存并离开,然后直接回车就可以保存并退出。
在这里插入图片描述

⑤ 查看日志 git log

git log

在这里插入图片描述
倘若只是想用版本号(那串很长的哈希值)来锁定到指定的版本,可以使用

git log --pretty=oneline

在这里插入图片描述

拓展:

用上述五个基本操作实现版本控制

① 首先咱们模拟开发的过程,假装现在迭代出的新的项目版本了
在这里插入图片描述
② 然后重新进行add 以及 commit
在这里插入图片描述
完成commit
在这里插入图片描述
拓展:当查看的日志开太多了,会出现这种无法输入的界面。可以键入q解决
在这里插入图片描述

依旧是模拟开发,此时发现新更新的这个版本不好用,想要回退到第一代的版本,此时想要回退到之前的版本,或者回退到某个指定的版本。

方法一指令:

git reset --hard 版本号

版本号可以通过git loggit reflog查看,然后获得到想要的版本版本号
在这里插入图片描述
实现版本控制
这是在Git Bash 获得的反馈
在这里插入图片描述
实际回到demo.txt文件,可以发现,文件确实是被修改过了,回到了自己想要你的版本
在这里插入图片描述
方法二指令:

git reset --hard HEAD^      线性回退几次,就打几个^

方法二需要理解一个HEAD指针
HEAD头指针指向的当前分支最新的版本号。
其具体的实现可以通过这张图俩阐述
在这里插入图片描述
我现在去手动更新两边版本的内容。然后用于演示

拓展:倘若觉得频繁使用 git addgit commit -m 有点麻烦,可以考虑使用合并的方式。

在这里插入图片描述

将更新版本都提交到Git的版本库中进行管理了

在这里插入图片描述

演示git reset --hard HEAD^
在这里插入图片描述

演示git reset --hard HEAD^^
在这里插入图片描述


这里有个小细节,咱们对比两种版本控制的代码再查看日志的结果:
使用git reset --hard HEAD会修改提交信息
使用git reset --hard 具体版本号不会修改提交信息

在这里插入图片描述
到这里为止的操作,就是切实的结合Git对项目的各个版本进行时时的控制,剩下的克隆、拉取、拉取合并、推送等四个操作需要结合GitHub或者Gitee来演示会更加生动,那咱们下一篇先着手初步认识这种代码托管平台吧。
在这里插入图片描述

总结

初始化,查看状态,暂存,提交和查看日志等五个操作,是基础中的基础啦,务必练熟。

猜你喜欢

转载自blog.csdn.net/weixin_52621323/article/details/125699659