Git版本控制爬坑日记一

简单说一下为什么要学习Git,其实对于我而言,我已经是会使用git了,但是我对git的认知仅仅是停留在它可以将代码推送到云端,这个其实是不够的。其实Git最大的作用还是可以让我们可以吃后悔药,也就是当我们一些某些功能做错时,但是意识到的时候已经编辑了大量的代码,且原来的代码已经无法恢复了,这时候就可以通过Git来恢复到原来的版本

Git 开源的分布式版本控制系统
  • Git时一个分布式的版本控制系统,或者说是仓库,和集中式不同的地方就是在于它有一个云端的仓库之外,我们本地的电脑中就也有一个仓库,当我们出现一些特别情况没有网络时,这时候就可以将代码先提交到本地的仓库中做版本的更新,等待网好了再推送的云端,这个就是分布式的最好的地方了
  • Git中我们可以推送一代一代的代码版本(版本名是哈希的方式来存的),当我们觉得某些新代码没有必要时,可以很方便的进行版本的回退。
软件的安装
  • 我时Windows的电脑环境,所以就直接安装了windows
  • https://gitforwindows.org/ 进入网站之后下载软件再安装即可
  • 当安装完成之后,在鼠标右击就会有如下的显示Git Bash Git Gui之类的选项就说明已经安装成功了
Git Bash的命令行的使用

使用命令行来进行操作能够更好的让我们理解Git操作的原理,在已经很明确了原理之后可以使用图形化的界面,但是我建议还是命令行的方式比较好,更显得高端
在使用命令行时Git Bash是可以使用Linux的一些操作的,下面是一些最基础的一些操作

  • cd后面不接路径文件名表示进入家目录,也就是进入电脑登录用户的根目录
  • pwd查看当前所在的路径
  • mkdir创建一个文件夹
  • touch 文件名创建一个文件 如touch index.html会在当前路径下创建一个index.html的文件
  • ls查看当前路径下的全部文件
  • rm -rf 文件名删除某个文件 注意这个是一个非常危险的命令,使用的时候一定要谨慎 慎重
  • git init在当前目录中创建一个本地的仓库
    在Linux中,有些隐藏的文件夹 如.git文件夹在我们使用ls的时候是没有这个文件的因为被隐藏了,可以使用ls -a来查看所有的文件 包括被隐藏的文件
配置仓库的信息

git config --global user.email "[email protected]"
git config --global user.name "Jimmy"
以上是配置全局的Git仓库的信息,如果一些仓库没有设置这些用户信息,就会使用这个全局的信息。
在单独的仓库中配置单独的信息:首先cd到那个文件下 打开config文件,输入以下代码
git config user.email "[email protected]"
git config user.name "jIMMY"

仓库的管理

管理仓库分为两种,一种是我们直接自己创建一个项目,自己做自己仓库的管理员,一种是拿别人的开源项目,接手别人的仓库,如下:

  • git init这个就是自己创建了一个仓库,我们就管理自己的仓库即可
  • git clone https://gitee.com/jimmyxuexue/excellent_interface.git后面的网址就是别人的开源项目,可以在Github或者码云上寻找。就可以克隆出一个别人的仓库。
Git流水线操作分析

Git版本控制爬坑日记(一)
Git是一个仓库,所以我们以仓库的概念可以理解成我们写的代码是生产车间,我们可以要将写好的代码放在小推车里面,再通过小推车将代码放到我们Git仓库中,车间可以随时查看车间的状态,也就是代码有没有全部都放到仓库里了,这个就是Git操作的流水线
git statis查看代码状态
git add 文件名/.将代码放到小推车
git commit将小推车推到仓库,并卸货。

.gitignore 忽略车间文件

在现实的开发中,有很多文件我们其实是不需要提交到仓库里的,比如我们在开发时需要安装的各种的依赖,node_module文件夹这种,又大,又不是我们自己写的代码,时没有必要添加到仓库的,所以这时候我们可以使用.gitignore来对文件进行忽略

  • 首先cd到我们仓库创建的仓库中使用touch .gitignore创建忽略配置文件
  • 在配置文件中输入要忽略的文件名即可,如:
    Git版本控制爬坑日记(一)
    以上是忽略了node_module文件夹 main.js 以及所有的mp4格式的文件。
  • 在忽略了这些文件的时候 使用git status是不会检查到我们忽略的那些文件的。
在仓库中删除文件

一般情况下,我们将文件推送到仓库中之后,本地和仓库中都会保存这份文件,当我们把文件从仓库中删除的时候,正常的理解说明这个文件不重要,仓库不维护,本地也会跟着一起删除掉。所以在仓库中删文件也要慎重,有两种情况,分别是仅在仓库中删除,和连本地一起删除

  • git rm 文件名会将文件从仓库中删除,相当于是将仓库中的文件放入小推车 执行了之后还需要再使用git commit来提交这次命令。相当于将小推车的文件推到垃圾桶里面,注意,这种命令会连本地的文件一起删掉
  • git rm --cached 文件名表示只将仓库中的文件删除,本地的文件并不会被删除,同样的是,再删除了之后也需要做一次git commit的提交,才算完成工作。
更改仓库中的文件名

在现实的一些开发中,文件名是有语法规范的,比如有驼峰法的命名规范之类的,当我们提交的代码名字没有按照规范的时候,就可以修改仓库中的文件名,代码如下
git mv oldname newname如:git mv index.html Index.html就讲文件名进行了修改,只要再次 commit 一次即可完成这次的修改名字的操作。
Git版本控制爬坑日记(一)

查看仓库日志

查看仓库日志,能够让我们回顾过去我们对一个仓库都做过了什么操作,等等一些细节的内容,常用的有如下的命令

  • git log查看日志,包含提交的哈希字符串,作者,日期,以及提交的描述

Git版本控制爬坑日记(一)

  • git log -p除了显示以上的哈希字符串、作者、日期、描述意外,还会给我们打上文件的变动信息。
    Git版本控制爬坑日记(一)
  • git log -1表示只看最近一次提交的信息,如果只想看最近两次提交的文件变动信息,可以使用git log -p -2想看最近几次,就在最后面加上-数字即可。
  • git log --oneline可以看到精简版的日志信息。
    Git版本控制爬坑日记(一)
  • git log --name-only可以看到文件上的变化
    Git版本控制爬坑日记(一)
更改commit提交的提示信息

有时候我们使用git commit -m "message"提交的信息感觉不够准确,想要修改一下提交的文字信息 可以使用git commit --amend进入vim的输入框中,输入i可以进入编辑模式,编辑模式输入好看了之后按esc键退出编辑模式 输入:wq保存退出,这时候再查看日志,日志的内容就已经是修改过的日志信息了。

总结:
  • 今天学习了Git的工作的原理,确实git这个操作是我们在真实的项目开发中,几乎是天天都会使用到的,所以真的是非常的重要,一定要在原理层次上理解透。
  • 学习了一些Linux系统下的一些命令。
    明天继续更新Git更加高阶的操作,现在都是属于Git的基础操作,相当于是打地基的时候。

相关文章: