git的个人常用使用操作(二)

170 阅读3分钟

「这是我参与11月更文挑战的第12天,活动详情查看:2021最后一次更文挑战」。

git clone速度慢的解决方案

有时候没梯子的时候拉github仓库的代码特别慢,这边只需要下面的命令, 把clone链接里面的github.com改为镜像网站的github.com.cnpmjs.org,

例如:

github.com/zhumj/RxEas…

改为

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码,只需要前面几位即可。