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 statis查看代码状态git add 文件名/.将代码放到小推车git commit将小推车推到仓库,并卸货。
.gitignore 忽略车间文件
在现实的开发中,有很多文件我们其实是不需要提交到仓库里的,比如我们在开发时需要安装的各种的依赖,node_module文件夹这种,又大,又不是我们自己写的代码,时没有必要添加到仓库的,所以这时候我们可以使用.gitignore来对文件进行忽略
- 首先cd到我们仓库创建的仓库中使用
touch .gitignore创建忽略配置文件 - 在配置文件中输入要忽略的文件名即可,如:
以上是忽略了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 log查看日志,包含提交的哈希字符串,作者,日期,以及提交的描述
-
git log -p除了显示以上的哈希字符串、作者、日期、描述意外,还会给我们打上文件的变动信息。 -
git log -1表示只看最近一次提交的信息,如果只想看最近两次提交的文件变动信息,可以使用git log -p -2想看最近几次,就在最后面加上-数字即可。 -
git log --oneline可以看到精简版的日志信息。 -
git log --name-only可以看到文件上的变化
更改commit提交的提示信息
有时候我们使用git commit -m "message"提交的信息感觉不够准确,想要修改一下提交的文字信息 可以使用git commit --amend进入vim的输入框中,输入i可以进入编辑模式,编辑模式输入好看了之后按esc键退出编辑模式 输入:wq保存退出,这时候再查看日志,日志的内容就已经是修改过的日志信息了。
总结:
- 今天学习了Git的工作的原理,确实git这个操作是我们在真实的项目开发中,几乎是天天都会使用到的,所以真的是非常的重要,一定要在原理层次上理解透。
- 学习了一些Linux系统下的一些命令。
明天继续更新Git更加高阶的操作,现在都是属于Git的基础操作,相当于是打地基的时候。