首页 > 其他 > 详细

Git常见报错:You have not concluded your merge (MERGE_HEAD exists)、清理无效的远程追踪分支

时间:2019-07-03 13:47:02      阅读:89      评论:0      收藏:0      [点我收藏+]

1、导致报错:error: You have not concluded your merge (MERGE_HEAD exists).的原因可能是在以前pull下来的代码自动合并失败。

  解决方案一:保留本地的更改,中止合并->重新合并->重新拉取

$:git merge --abort
$:git reset --merge
$:git pull

  解决方案二:舍弃本地代码,远端版本覆盖本地版本(慎重)

$:git fetch --all
$:git reset --hard origin/master
$:git fetch

2、Git fetch和git pull的区别

  都可以从远程获取最新版本到本地

  git fetch:只是从远程获取最新版本到本地,不会merge(合并)

$:git fetch origin master   //从远程的origin的master主分支上获取最新版本到origin/master分支上
$:git log -p master..origin/master //比较本地的master分支和origin/master分支的区别
$:git merge origin/master          //合并

  Git pull:从远程获取最新版本并merge(合并)到本地

$:git pull origin master  //相当于进行了 git fetch 和 git merge两部操作

3、本地删除无效的远程分支:清理远程分支,把本地不存在的远程分支删除

git remote prune origin

Git 清理无效的远程追踪分支

  在使用git进行版本控制时,经常会创建一些特性分支方便产品功能的开发和迭代,

  在远程版本库创建了一个分支后,在本地可以使用:git remote update,可以在本地创建远程追踪分支,

  但是,如果在远程版本库上删除了某一分支,该命令并不会删除本地的远程追踪分支,这时候,有另一个命令:git remote prune,该命令可以删除本地版本库上那些失效的远程追踪分支。

  具体用法是,假如你的远程版本库名是 origin,则使用如下命令先查看哪些分支需要清理:git remote prune origin --dry-run

技术分享图片

  可以看到, origin/test 和 origin/test1 两个远程分支已经失效,将会被清理,执行:git remote prune origin

技术分享图片

  这样,就完成了无效的远程追踪分支的清理工作。

 

Git常见报错:You have not concluded your merge (MERGE_HEAD exists)、清理无效的远程追踪分支

原文:https://www.cnblogs.com/goloving/p/10330337.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!