GVKun编程网logo

在 GitHub 中编辑 git commit 消息(git commit信息修改)

9

对于在GitHub中编辑gitcommit消息感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解gitcommit信息修改,并且为您提供关于commit修改内容到github、GitBashc

对于在 GitHub 中编辑 git commit 消息感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解git commit信息修改,并且为您提供关于commit修改内容到github、Git Bash commit 出现 Aborting commit due to empty commit message、git clone git@github.com:xxx.git Permission denied (publickey) 问题解决办法、git commit前检测husky与pre-commit的宝贵知识。

本文目录一览:

在 GitHub 中编辑 git commit 消息(git commit信息修改)

在 GitHub 中编辑 git commit 消息(git commit信息修改)

提交后,有什么方法可以在线编辑提交消息GitHub.com吗?

从命令行,一个可以做

git commit --amend -m "New commit message"

正如另一个问题中正确建议的那样。

尝试git pull然后git push工作(同时没有任何其他提交干扰)。

但是可以通过GitHub网站完成吗?

commit修改内容到github

commit修改内容到github

gitHub是一个强大且简单的放开源项目的地方,特别是for iOS的开发。当你修改了你的工程,如何提交到github repository?

在命今行输入几行命行就能办到

git remote add upstream git://github.com/xxx.git
git fetch upstream
git commit -m "commit 1.1"   #可以看到些文件修改了,哪些是新加的
git add .                                 #把所有新回的文件加入repo
git commit -a

git push origin master


其实与SVN命令差不多。


原文链接: http://blog.csdn.net/favormm/article/details/6583449

Git Bash commit 出现 Aborting commit due to empty commit message

Git Bash commit 出现 Aborting commit due to empty commit message

参考文章

https://blog.csdn.net/RobotYa...
https://stackoverflow.com/que...
https://stackoverflow.com/que...

错误复现

  • vim 项目中修改任意文件,正常 wq 保存
  • git commit -a 输入 log 内容后,强制关闭 git bash
  • 再次打开 git bash,输入git commit -a ,此时报错
  • git bash 错误提示

错误原因

  • 输入 log 内容后,编辑器已经生成了 .swp 文件,而强制关闭会导致 .swp 没有被正确处理
  • 未正确处理的swp

解决方式

  • cd .git
  • ls -al
  • rm .COMMIT_EDITMSG.swp
  • 重新 git commit -a 正常操作即可

git clone git@github.com:xxx.git Permission denied (publickey) 问题解决办法

git clone git@github.com:xxx.git Permission denied (publickey) 问题解决办法

From: https://www.cnblogs.com/restart/p/4633928.html

如果git无法通过普通的http去clone远程分支,可以选用ssh方式去连接。这时需要配置相应的公私钥(本地生成公私钥对儿,把公钥配置到远程git服务器上即可)。

具体的错误提示如下:

要debug这个问题,可以用 ssh -vT 参数,比如下面: 

解决方案:

首先要设置你的系统的公共,私有密钥(ssh-keygen)

方法:

cd ~/.ssh && ssh-keygen

其次,把公共密钥放置到github上,可以通过剪贴板来做这事,例如:

然后到远程git用户的Manage Account->SSH keys里去Add key

 

把公共密钥放置到github上,可以通过剪贴板或者Notepad++来复制。

然后再去Git Bash里正常clone就好用了。

 

git commit前检测husky与pre-commit

git commit前检测husky与pre-commit

一、前言

现在最流行的版本管理工具非git莫属,而良好的代码规范有助于项目的维护,为了防止一些不规范的代码 commitpush到远端,我们可以在git命令执行前用一些钩子来检测并阻止。现在大前端主要有两种git钩子插件:husky(jquery与next.js都在用),pre-commit(antd在用)。
下面我将现介绍一个git钩子,再介绍下huskypre-commit的用法

二、git钩子

用过git的小伙伴们都知道git有很多命令commitpushrebase等等。那这些命令主要是在执行.git文件夹中的东西,那么git 钩子目录就是在.git文件夹的hooks下,如下所示:

    cd .git/hooks
    ls -l

hook.png

上图为各个钩子的案例脚本,可以把sample去掉,直接编写shell脚本来执行。
而前端的小伙伴们则可以用插件huskypre-commit,来使钩子生效。

注意: 一般.git为隐藏文件,可以把项目拖入IDE中查看,.git文件里的内容一般不允许手动更改的。

三、husky

husky能够防止不规范代码被commit、push、merge等等。
首先安装husky

    npm install husky --save-dev

    yarn add husky --dev

编辑package.json文件,如:

{
  "scripts": {
    "precommit": "webpack  --config ./web/webpack.config.js",
    "...": "..."
  }
}

当你git commit的时候,将会现现执行 precommit里的脚本,没有问题了再提交。

husky.png

具体案例可查看https://github.com/raoenhui/create-img

四、pre-commit

pre-commit能够防止不规范代码被commit,没有husky这么全面,但是你可以接着安装pre-push等插件来防止对应的git操作。下面以pre-commit为例:

首先安装pre-commit

    npm install pre-commit --save-dev

编辑package.json文件,如:

"scripts": {
    "test": "echo \"Error: I SHOULD FAIL LOLOLOLOLOL \" && exit 1",
    "foo": "echo \"fooo\" && exit 0",
    "bar": "echo \"bar\" && exit 0"
  },
  "pre-commit": [
    "foo",
    "bar",
    "test"
  ]

pre-commit的配置项非常灵活,还可以下面这样写:

{
  "precommit": "foo, bar, test"
  "pre-commit": "foo, bar, test"
  "pre-commit": ["foo", "bar", "test"]
  "precommit": ["foo", "bar", "test"],
  "precommit": {
    "run": "foo, bar, test",
  },
  "pre-commit": {
    "run": ["foo", "bar", "test"],
  },
  "precommit": {
    "run": ["foo", "bar", "test"],
  },
  "pre-commit": {
    "run": "foo, bar, test",
  }
}

你配置好后,执行git commit命令,它将会依次执行foo、bar、test来检测完善代码。

五、总结

我们已经怎么用git钩子插件了,那么我们一般用它来做什么呢。
prevent commit时,我们可以把eslint以及test命令加上,检测代码规范:

"scripts": {
    "precommit": "lint-staged && npm run test"
  }

prevent publish 主干分支时,我们可以把tag打上:

"scripts": {
    "precommit": "npm run tag"
  }
具体怎么自动化打tag标签,可以参考我的另外篇文章https://raoenhui.github.io/nodejs/git/2018/03/30/nodejs%E8%87%AA%E5%8A%A8%E7%94%9F%E6%88%90tag

参考资料

  • https://raoenhui.github.io/nodejs/git/2018/08/10/preventcommit
  • https://www.npmjs.com/package/husky
  • https://www.npmjs.com/package/pre-commit
  • https://www.jianshu.com/p/072a96633479

Happy coding .. :)

关于在 GitHub 中编辑 git commit 消息git commit信息修改的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于commit修改内容到github、Git Bash commit 出现 Aborting commit due to empty commit message、git clone git@github.com:xxx.git Permission denied (publickey) 问题解决办法、git commit前检测husky与pre-commit等相关内容,可以在本站寻找。

本文标签: