今天又有新来的小朋友问我关于 Git 的用法,我发现还是有蛮多新人不会用的,或者用不好的。其实想想自己刚工作时也是倒腾不清楚这些参数和用法,而且总怕出错,慢慢的多看文档、用得多了就熟悉了,今天简单跟大家分享几点。
必知的 add & commit
首先我们要清楚在本地的三种状态:
好吧我把命令已经写上去了。
本地改完了代码,就用
git add 文件名/文件夹/多个也可
提交到缓存区,这里如果文件改动的比较多,但又不是每个都需要提交,我会设置 git ignore file
,就表示这些文件不要提交,比如在 build project 的时候会自动生成的那些文件等等。
然后再
Js中文网 – 前端进阶资源教程 www.javascriptC.com,typescript 中文文档
一个帮助开发者成长的社区,你想要的,在这里都能找到
git commit -m "comment"
才会到本地库。一般后面都会跟个 -m
加句 comment
,简单说下改了啥,像我们公司大家默认也会把 Jira
链接附上,这样就知道这个改动对应哪个任务。
那如果想再改,再重新 git add
即可,但是 commit
这句需要改成
git commit --amend
这样就还是一条 git log 信息。
Log
git log
可以让我们查看提交过的日志,这个主要是因为如果需要对版本进行前进 or 后退的(下一个 reset
),就需要用到编号
。
直接 run
git log
的话就会显示一大坨信息,从近到远显示每次 commit 的 comment 还有作者、日期等信息,比如大概长这个样子:
commit 5abcd17dggs9s0a7a91nfsagd8ay76875afs7d6
Author: Xiaoqi<xiaoqi@163.com>
Date: xxx xxx xxx
改了 Test 文件
commit 后面的这个编号
,是每次历史记录的一个索引
。
这样打印的 log 太多,更简洁的打印方式是:
git --oneline
就一行打印出来了。
或者:
git reflog
更常用一些。
Reset
那我们刚刚说过,如果需要前进或退回到某个版本,就用
git reset --hard <编号>
这样就直接跳到了这个编号
对应的那个版本。
那么这个 hard
是什么意思呢?
这里有 3 个参数:hard
, soft
, mixed
,我们一一来说一下。
回到我们最重要的这张图上来:
我们刚刚说的前进或后退到某一版本,是对本地库
进行的操作。
那有个问题:
本地库的代码跳到那个版本之后,工作区和暂存区的代码就和本地库的不同步了呀!
那这些参数就是用来控制这些是否同步的。
git reset –hard xxx
三个区都同步,都跳到这个 xxx 的版本上。
git reset –soft xxx
前面两个区不同步,就只有本地库跳到这个版本。
git reset –mixed xxx
暂存区同步,工作区不动。
所以呢,用的多的就是 hard.
关于 Git 的用法还有很多,如果大家喜欢这个系列还请给我点个「在看」呀,这样我就更有动力去写啦~
悄悄话:每次到了周四都觉得周末快到了,想着今天多干点活明天就可以早下班了,所以今天效率超级高哈哈~
作者:小齐本齐
链接:https://segmentfault.com/a/1190000022845224
看完两件小事
如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:
- 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
- 关注公众号 「画漫画的程序员」,公众号后台回复「资源」 免费领取我精心整理的前端进阶资源教程
本文著作权归作者所有,如若转载,请注明出处
转载请注明:文章转载自「 Js中文网 · 前端进阶资源教程 」https://www.javascriptc.com