「这是我参与11月更文挑战的第12天,活动详情查看:2021最后一次更文挑战」。
git clone速度慢的解决方案
有时候没梯子的时候拉github仓库的代码特别慢,这边只需要下面的命令, 把clone链接里面的github.com改为镜像网站的github.com.cnpmjs.org,
例如:
改为
github.com.cnpmjs.org/zhumj/RxEas…
可以把下载速度提升好几倍
重写最后一次的 commit message
如果你最近的一次提交中,commit 信息写的不好或者有错别字,可以用以下命令修改:
git commit -v --amend
这里的 -v 是可选的,它可以提过一些额外信息来帮助你描述 commit message
git commit 提交规范
Git 每次提交代码,都要写 Commit message(提交说明),否则就不允许提交。但是,一般来说,commit message 应该清晰明了,说明本次提交的目的。
用于说明 commit 的类别,只允许使用下面7个标识。
feat:新功能(feature)
fix:修补bug
docs:文档(documentation)
style: 格式(不影响代码运行的变动)
refactor:重构(即不是新增功能,也不是修改bug的代码变动)
test:增加测试
chore:构建过程或辅助工具的变动
使用工具校验commit是否符合规范
1、全局安装
npm install -g @commitlint/cli @commitlint/config-conventional
2、生成配置配件 这个文件在根目录下生成就可以了。
echo "module.exports = {extends: ['@commitlint/config-conventional']}" > commitlint.config.js
3.在commitlint.config.js制定提交message规范
"module.exports = {extends: ['@commitlint/config-conventional']}"
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'type-enum': [2, 'always', [
"feat", "fix", "docs", "style", "refactor", "test", "chore", "revert"
]],
'subject-full-stop': [0, 'never'],
'subject-case': [0, 'never']
}
}
上面我们就完成了commitlint的安装与提交规范的制定。
如何放弃本地修改
这个功能平时用的还是比较多的,经常功能加了之后发现并没什么卵用,需要放弃这些修改,不过这也分为好几种情况。
1、未进行add操作
这种情况,应该是最常见的,一般修改不会轻易进行git add 操作,这个时候只需要进行简单的 git co -- . 全部或者 git co -- 恢复具体的文件。
命令中的- -很重要,没有- -,就可能变成 “分支切换” 的命令,但是如果没写- -,且没有对应的分支,也可以恢复,为了保险,还是老老实实加上。
该命令就是用来放弃那些还未加入缓存区的修改操作,包括文件内容的修改和文件的删除,但是对于那些新建的文件来说,并不把它删掉,因为刚新建的文件对于Git来说是未知的,需要手动的删除。
2、已经被add进缓存
好吧,这种情况,我也是经常遇到,因为手速太快,执行完git add . 之后,发现一些有问题,怎么办?
因为这些修改已经被放入缓存区了,git co 操作已经无力回天,这个时候,可以使用 git reset HEAD 命令来放弃指定的文件的缓存,如果要放弃所有修改的缓存,可以使用 git reset HEAD . 该命令相当于撤销 git add 的影响,在执行该命令后,本地的修改并不会消失,而是回到add之前的状态。
3、add完之后,还commit了
这种情况最糟心,还好没有push到远程仓库,还可以抢救。其实方法也很简单,可以使用 git reset --hard HEAD^ 来回退到上一次commit的状态。
另外使用此命令可以回退到任意版本:git reset --hard commitid 这里的commitId就是使用 git log 显示的提交历史中的SHA码,只需要前面几位即可。