问题原因:

首先说说远程仓库为什么会多出Merge branch 'dev' of ...日志

由于远程仓库dev分支超前于本地dev分支(其他开发人员在你开发的期间向远程提交了代码),而在本地dev分支开发完成后执行 add,commit 操作后,进行 git pull origin dev 操作,会造成分支自动合并操作,因此在 git push 之后远程dev分支出现 “Merge branch 'dev' of ...” 记录。

如果远程仓库dev分支超前于本地dev分支,但本地dev分支没有任何 commit,执行 git pull 操作,默认会采用 fast-forward 模式,不会产生合并节点,也就是说不会产生多余的那条“Merge branch 'dev' of ...” 记录

 解决方法:

使用 git pull --rebase 命令,如果没有冲突,则会直接合并;如果存在冲突,手动解决冲突即可,不会再产生那条多余的信息。

如果你不想每次都rebase,可以在git bash里执行 git config --global pull.rebase true 在每次pull前先进行rebase操作。

 删除git push到远程仓库的commit

如果远程仓库已经多出了这么一条脏记录“Merge branch 'dev' of ...”,如何删除呢?

具体操作步骤如下:

(1) git log  找到想要回退的commit_id  

(2) git reset --hard commit_id  回退

(3)  git push origin dev:master --force   强制推送:从本地dev分支推送到远程master分支

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐