【Git & GitHub】第一章 —— Git初体验以及版本控制的上手到熟练

1)前言

git的重要性应该是不言而喻的。
在这里插入图片描述

2)Git & GitHub 的认识

先保留一个认知:Git是为协作开发而生。
Git 是(开源)工具,GitHub是一个运行Git的平台。

在文档猴子都能懂的Git入门入门篇中介绍了在没有git进行版本控制之前,每次新的开发都需要提前进行备份。

在这里插入图片描述

① Git是一个免费和开源的分布式版本控制系统,因为它记录一个文件或一组文件随时间的变化,以便以后可以调用特定版本,所以能够精准的控制更改过的每一个版本,它是当前最主流的分布式版本控制系统。

② 分布式版本控制系统可以帮助使用者保存所有的修改记录,使用版本号进行区分,也是利用版本号实现精准控修改过的每一个版本。

③ 借助布式版本控制系统,我们可以随时浏览历史版本,将改错的文件还原到指定的版本,可以对比不同版本的文件差别,有恢复和保护的作用。

在这里插入图片描述

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

在这里插入图片描述

3)Git基础

3.1)Git 的安装

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

倘若觉得这种操作比较吃力,可以使用的TortoiseGit的图形面界面来实现操作。
第16讲 Git 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@example.com"

因为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安装——(需要翻译一下)

在这里插入图片描述

3.2)Git 的工作区、暂存区、版本库理解

最重要也最需要理解的内容:

  • 工作区:进行改动(增删文件和内容)
  • 暂存区:在输入命令:git add 改动文件的名字之后,本次改动将会放到暂存区
  • 本地仓库(可以简称为本地):在输入命名:git commit -m"此处修改的描述"之后,会将上方暂存区中放置的改动结果放到本地仓库,每一个commit,可以称为一个版本。
  • 远程仓库(可以简称为远程):在输入命令:git push 远程仓库之后,放到本地仓库中的改动结果,会被放到远程仓库(github、gitee等等)
  • 版本号 commit-id:在输入命令:git log之后,最上面那行commit xxxxxx,这个xxxxxx就是版本号。

在这里插入图片描述
工作区可以理解为是自己计算机本地的创建的一个文件夹
暂存区暂存add后的本地文件,版本库存放新一个版本状态的提交文件

在这里插入图片描述

在这里插入图片描述

2.3)Git 的九个基本操作

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

2.3.1)前五个基本操作

在这里插入图片描述

拓展:
此处也可以积累一个关于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

在这里插入图片描述

拓展:

2.3.2)用上述五个基本操作实现版本控制
① 模拟开发,在原本的版本上进行再次开发

在这里插入图片描述

② 因为内容变更,需重新进行 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来演示会更加生动,那咱们下一篇先着手初步认识这种代码托管平台吧。

在这里插入图片描述

4)总结

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

  • 20
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 26
    评论
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨枝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值