Git问题:macOS命令行下revert commit添加注释失败求助
嘿,作为Git新手在macOS上踩revert的坑太正常啦!我来帮你捋清楚正确的操作方式,顺便避开那些容易踩的雷~
搞定带注释的Git Revert操作
首先,咱们得先明确要revert的是哪一个commit——先跑这个命令看看你的提交历史:
git log --oneline
你会得到类似这样的输出(哈希值和注释是示例):
a1b2c3d (HEAD -> main) 第二次修改的提交注释
xyz7890 初始提交注释
这里的a1b2c3d就是你要回滚的那个第二次提交的哈希值(不用写全,前7位足够Git识别)。
接下来有两种靠谱的方式执行带注释的revert:
方式1:直接在命令行写注释(简单快捷)
用-m参数直接把注释跟在命令后面,macOS下单双引号都能用:
git revert a1b2c3d -m "Revert 第二次修改的内容,因为XXX原因"
这个命令会直接生成一个新的revert提交,注释就是你写的内容,不用打开编辑器,适合短注释场景。
方式2:用编辑器写详细注释(适合复杂说明)
如果你需要写长一点的注释,直接运行不带注释参数的revert命令:
git revert a1b2c3d
这时候macOS会默认打开Vim编辑器(如果没改默认编辑器的话),操作步骤是:
- 按
i键进入编辑模式 - 第一行写你的revert注释,比如“回滚第二次修改:修复了之前误加的冗余代码”
- 写完后按
Esc退出编辑模式 - 输入
:wq并回车,保存注释并退出编辑器
这样Git就会自动创建带注释的revert提交了。
你大概率踩的坑:
- 没指定commit哈希:直接跑
git revert不带任何参数,Git根本不知道要回滚哪个提交,肯定报错。 - Vim操作懵圈:如果打开Vim后不知道怎么退出,别慌,按
Ctrl+C取消当前命令,换方式1就行;或者记住:q!是强制退出不保存,:wq是保存退出。 - 代码冲突:如果revert时提示冲突,先手动修改冲突的文件,把冲突标记(
<<<<<<<、=======、>>>>>>>)删掉,保存后运行git add 冲突文件名,再执行git revert --continue就能完成提交。
完成revert后,正常推送到main分支就行:
git push origin main
内容的提问来源于stack exchange,提问作者Bluasul
相关产品推荐
相关产品推荐

