转载请以链接形式标明出处: 本文出自:103style的博客
操作系统:Windows10
记录一下.
某天,改完一个bug,然后开始熟悉的提交
git add .
git commit -m "XXX"
刚 commit 完,发现一个有一句打印日志的代码没删,然后准备开始回滚,
通过 git log
查看当前提交的上一次提交的 commitid
,即下图中的第二个 commit 后面的那串数字: 0f8a14bf92db8a0b4441f962c6b2ee4d5fa9ea0b
然后通过 git reset commitid 回滚.
git reset 0f8a14bf92db8a0b4441f962c6b2ee4d5fa9ea0b
然后删除无用的代码,然后继续提交.
git add .
git commit -m "XXX"
git fetch origin
git rebase origin/master
git push ssh://XXXXX.git HEAD:refs/for/master
然后就莫名奇妙的报错了,信息如下:
然后直接咨询IT的同事,解决方式如下:
先切换目录到 工程目录下的 ...\.git\hooks\
目录下,
cd .git
cd hooks
然后运行命令 scp -p -P 29418 XXX .
,即报错截图中 remote:Hint: To automatically insert Change-Id, install the hook:
下面那一句中的 scp -p -P 29418 103style@sz.gerrit.nba.com:hooks/commit-msg ${gitdir}/hooks/
,我们只要执行以下命令:
scp -p -P 29418 103style@sz.gerrit.nba.com:hooks/commit-msg .
然后提示 yes/no
选择 yes, 如果失败就在运行一下上面那个命令。
然后切换回工程目录,执行 git commit --amend
,如下:
cd ..
cd ..
git commit --amend
进入git commit --amend
之后,直接依次按 :wq
保存退出即可,如果不小心按了 insert之类的到修改文本了, 就先按下 Esc
,然后再 :wq
。
然后就能愉快的提交代码了。
如果觉得不错的话,请帮忙点个赞呗。
以上