Git Commit详细讲解

git commit template 配置

查看ls ~/.*是否存在.gitmessage.txt,如果没有则创建这个文件,写入下面例子代码
主要分为header和body两个部分

TaskID: xxx:  xxxx .

Root Cause: xxxx
Solution: xxxx
Test Suggestion: xxxx

配置

git config --global commit.template ~/.gitmessage.txt

使用git commit template

git commit 

后会调用.gitmessage.txt,即可输入对应的message
再提交 commit 前,不使用 git commit -m ‘xxxx’,而是使用 git commit,就会调起模板。
通过以下命令来修改编辑工具

git config --global core.editor vi

commit回撤
如果只是单纯的commit 注释写错了,可以通过下面这个指令去修改

git commit --amend

回退版本

git  reset --soft HEAD^   		#回退上一个版本
git  reset --soft HEAD^^  		#回退上上一个版本
git  reset --soft commit-id 	#回退指定版本

强制完全回退
–hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交:

git reset --hard HEAD
git reset --hard HEAD~3  		# 回退上上上一个版本
git reset --hard bae128  		# 回退到某个版本回退点之前的所有信息。
git reset --hard origin/master  # 将本地的状态回退到和远程的一样 

获取commit id
git rev-parse HEAD

遇到问题

问题描述

Git missing Change-Id in commit message footer解决方法
原因:项目仓库.git/hooks目录下,commit-msg文件缺失。
解决方法:一般在提交代码报错时,会给出相应解决的提示。

如上所示,依次在项目路径下输入如下命令,即可解决:
gitdir=$(git rev-parse --git-dir);
#将xxxxx@xxxx 替换成相应用户名、服务器即可(该命令从服务器拷贝commit-msg文件)
scp -p -P 29418 xxxxx@xxxx:hooks/commit-msg ${gitdir}/hooks/
#再提交一次即可生成change-id
git commit --amend

猜你喜欢

转载自blog.csdn.net/yiyu20180729/article/details/130702308