git 修改最近一次 commit 信息

1. 修改最近一次 commit 信息

右击所需要修改的项目文件,打开 Git Base Here,输入命令如下:

git commit –amend

在打开最近一次 vim 编辑文本后,按 i  键进入编辑模式,然后进行编辑所需要修改的 commit 信息即可

编辑完后,按 Esc 键退出编辑模式,然后输入 :wq 后按下 Enter键进行保存修改

至此,本地最近一次 commit 信息已经修改完毕

如果想要修改推送的 commit 信息,下面 2 和 3 按需求任选一个进行重新推送即可

2. 强制推送(2 和 3 任选一)

强制推送会改写远端历史,命令如下:

git push --force-with-lease
3. 先拉取再推送(2 和 3 任选一)

git pull 会把远端变动和本地变动进行合并,形成新的合并(即同时看到修改前的旧的 commit 信息和修改后新的 commit 信息),命令如下:

git pull

在打开 vim 编辑文本后,按 Esc 键退出编辑模式,然后输入 :wq 后按下 Enter键进行保存修改,即可完成合并

ps:如果突然不想合并,则按 Esc 键退出编辑模式,然后输入 :q! 后按下 Enter键进行强制退出,即可中断这次的合并操作,回到 git pull 之前的状态

4.  改合并为覆盖

如果选了步骤 3 后想反悔,回到步骤 2 进行覆盖记录,则步骤如下:

①  查看所想要保留的 Commit ID

首先需要找到在执行 git pull  之前,用 git commit –amend 修正好的那个 commit 的 ID,可以执行命令进行查看提交历史,命令如下:

git log --oneline --graph

然后会看到类似的记录(最新的在最上面),如图所示:

然后复制所想要的  commit 的 ID

然后按 q 键进行退出

② 重设本地分支

强制让本地  master 分支指回正确的 commit,并丢弃之后所有的变更(即那個合并 commit),命令如下:

# ID 是上一步所复制的 ID
git reset --hard ID

说明:git reset --hard 该指令会将分支状态(HEAD)、索引(Staging Area)和工作目录(Working Directory)完全重设到指定的 commit,那个错误的合并 commit 会从本地历史中消失

③ 强制推送

然后和步骤 2 一样,执行强制推送的命令即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值