前两天写了一篇关于vue-cli 3.0的博客,和一篇在3.0中使用SASS/SCSS的博客。虽然很多人说我水,但是这是我第一次得到这么多反馈,心里还是十分高兴的。我知道我的水平有限,而且文笔也不好,每次都无法抓住重点将真正的干货完成的呈现出来,但是我会努力去进步的,请大家关注我的改变,谢谢你们。
我是真心想给大家提供一些干货,为了表明我的决心,我今天把压箱底的Git操作分享给大家,我在日常工作中不知道怎么用Git命令时,都会去看看自己的笔记,今天我将我的笔记分享给大家,希望能够对大家有所帮助。
我的Git操作最初是跟廖雪峰学习的,在此,我要感谢廖老师的分享。廖老师在我的学习道路上提供了很多帮助,感谢廖老师。
查看仓库状态
$git status
通过git status命令我们可以知道当前仓库的状态信息,比如:文件的增删改状态,以及哪些文件处于track状态,哪些处于untrack状态。
在git中,只有处于track状态的文件才能进行提交。下面给出一张图,帮助大家理解git的提交原理。这张图好像是从廖老师的博客拿的,我也记不清了,已经是好多年前的事了。
我们本地的仓库称为工作区,我们可以在工作区中进行项目开发。当项目告一段落时我们想要将本地仓库提交到远程仓库中区。若此时本地仓库已经于远程仓库建立连接,则我们可以直接执行推送操作(关于如何将本地项目与远程仓库建立连接,请看我的另一篇博客。):
git add FILES
git commit -m "messages"
git push origin master
关于这三步的含义,请自行百度,不然我一展开又要被吐槽水了。。。
当我们执行git add命令时,其实是将工作区中的文件让Git进行托管,也就是进入了图中的stage阶段。此时我们的修改信息已经被Git记录了,但是还没有上传到远程仓库。也就是说所有的修改信息都记录在本地。当我们执行git commit命令时,我们的修改信息就被保存到了本地的Git仓库中,也就是说我们的项目进行正式被Git接管,但是因为这一吸血操作都发生在本地,所以必须通过git push命令,将最近的修改信息上传至远程仓库,这样才能在线上仓库看到我们的修改记录。
添加文件
$ git add
就像上面说的,文件分为track状态和untrack状态。而untrack状态的文件是无法让Git进行托管的。因此我们可以通过
$ git add -A
讲所有track和untrack状态的文件添加到Git托管中,这样我们就能将untrack的文件提交到Git仓库当中。但如果我们本次只想提交track状态的文件,则可以使用
$ git add -u
track状态是指原本存在于Git仓库中的文件,而untrack状态指的是我们在项目中新建的文件。由于是我们新建的文件,所以Git中并没有记录,所以无法正常提交。
分支操作
直接创建分支:
$ git branch dev
切换分支:
$ git checkout dev
创建并切换分支:
$ git checkout -b dev
这条命令等于执行前面两条命令。
查看分支
$ git branch
查看远程分支
$ git branch -a
删除分支
$ git branch -d dev
合并分支
$ git merge dev
把dev分支的工作成果合并到master分支上
Tag标签管理
创建标签,删除标签操作和分支操作基本相同,只不过将branch改为tag。
$ git tag v1.0 //创建标签
$ git tag -a v0.1 -m "version 0.1 released" //创建带提交信息的标签
$ git tag -d v0.1 //删除标签
$ git tag //查看标签列表
$ git show v0.9commit 622493706ab447b6bb37e4e2a2f276a20fed2ab4 //查看指定标签详细信息
对标签进行操作后,请记得将标签信息推送至远程仓库:
$ git push origin v1.0 //推送指定标签
$ git push origin --tags //一次性推送全部尚未推送到远程的本地标签