Idea gitflow使用中常见问题及解决方法

1、Fatal: There is an existing hotfix branch 'hwy_m0412'. Finish that one first.

产生原因:gitflow工作空间里只能同时存在一个hotfix分支。

解决方法:先把本地分支切换到任意一个分支上,然后在本地删除掉冲突的分支,就可以创建了。如果需要修改删除的那个hotfix分支,只需要checkout出来就行了。

2、Branches 'master' and 'origin/master' have diverged

产生原因:本地的master分支太旧了。

解决方法:从服务器pull一下origin/master分支,再创建就好了。

3、 You have not concluded your merge (MERGE_HEAD exists).

Idea gitflow使用中常见问题及解决方法_第1张图片

当你从远程像本地pull代码的时候,报you have not concluded your merge异常是因为你本地有修改过的代码没有提交。

解决方法:

1、把代码commit-push到远程服务器后在pull。

2、stash把代码暂存起来,下次使用的时候点击UnStash在加载到本地。

Idea gitflow使用中常见问题及解决方法_第2张图片

3、当发现通过以上两步还不能解决的话,就只能通过第三种回滚代码的方式了。

vcs--git--reset HEAD--reset Type(要选择Hard,和SVN默认模式是一样的)--reset

Idea gitflow使用中常见问题及解决方法_第3张图片

Idea gitflow使用中常见问题及解决方法_第4张图片

通过以上三种方法,就能解决你所有场景的you have not concluded your merge问题了,具体选择哪种可以根据你自己的选择。

 

4、error: you need to resolve your current index first


5、error: The following untracked working tree files would be overwritten by checkout:

问题4和问题5可以作为一个问题处理,他们问题的类型是一样的。

产生原因:切换分支或向下pull代码的时候本地存在新的版本未提交或者存在代码冲突。

我看网上很多人说使用`$ git clean -d -fx ""`命令,这句话会强制删除你本地所有的变更文件,包括忽略的和未提交的文件,所以请根据你的实际情况慎重选择使用。

解决方法:解决本地冲突并提交代码到远程仓库。

我的出现此问题的原因是:我从仓库合并主干到本地分支A,发现A分支太旧,所以就不想在使用这个分支A了,就放弃了A分支冲突的修改并在gitlab上直接把这个A分支给删掉了。去idea中切换分支时报问题4,然后我就在idea编辑器里还原了所有的合并文件。再次切换出现问题5,至此,本地分支A无法切换,也无法删除。

解决方法:(请谨慎操作,我的代码不需要保留,所以才要删掉)在version control窗口的local changes-->Unversioned Files中删除所有变更文件,再次切换问题解决。

Idea gitflow使用中常见问题及解决方法_第5张图片

 

6、git reset 参数说明

参数 区别
--soft 会将改动放在缓存区
--mixed 不把改动放在
--hard 直接丢弃修改

 

 

 

 

PS:本帖会不定期更新新问题,各位如果遇到什么不确定的问题也可以在下方评论区留言提问,我看到后会第一时间回复您的答案,并最终整理到本帖中!

你可能感兴趣的:(Intellij,IDEA)