赞
踩
问题原因:
首先说说远程仓库为什么会多出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分支
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。