1. 问题
在IDEA中使用amend commit后,直接点击push,会先执行fetch命令,将远端代码和本地代码进行marge。结果还是会生成多条提交记录,没有达到只提交一条新的commit记录到master分支的目的。
2. 解决方法
(1)在IDEA中使用amend commit将所有的提交记录合并成一条
(2)在git-bash中强制将本地分支覆盖远程分支
命令为:git push --force-with-lease origin dev_yhy
3. 命令说明
– 使用此参数推送,如果远端有其他人推送了新的提交,那么推送将被拒绝,这种拒绝和没有加 --force 参数时的拒绝是一样的
git push --force-with-lease origin dev_yhy
–force 会使用本地分支的提交覆盖远端推送分支的提交。也就是说,如果其他人在相同的分支推送了新的提交,你的这一举动将“删除”他的那些提交
git push --force
4. 结果
在GitLab上面,发送marge请求时候,只看到一条记录