webstorm合并分支,Git合并分支

webstorm可视化操作git 操作合并之后,push时遇到的问题

webstorm可视化操作,命令操作  场景:把dev分支的代码合并到V4分支

1、查看是否有更改的代码,如果有可以先暂存到shelf中,可以直接拖动,或者右键-Shelve Changes-Shelve Changes。

1/1  git pull 拉一下最新的代码,

1/2 把暂存区代码拉出来,或者复制出来。

1/3 git add .   git commit -m 备注信息 ; commit代码

git push; 提交代码   或者右键commit,commit and push

2、切换分支  执行 git checkout V4MergeDev  或者 Checkout切换分支到V4MergeDev

4、合并分支 执行命令  git merge dev,或者 merge into current合并分支,合并冲突代码

5、推送到远程V4MergeDev分支  命令 git commit -m 备注信息   git push origin head:refs/for/V4MergeDev

或者在local changes 右键需要合并的代码,commit -  commit and push

问题: Git合并分支后,push至仓库被拒绝

出现信息:

To ssh://XXX.XXX.XXX.XXX:XXXX/项目名

! [remote rejected]   head -> refs/for/V4MergeDev (no new changes)

error: failed to push some refs to 'ssh://XXX.XXX.XXX.XXX:XXXX/项目名'

或者webstorm 提示 push失败,无权限:

no new changes 代表代码并没区别,所以应该是changeid和commitid都是同一个,才被拒绝了。

解决方法如下

方法一:通过git commit --amend生成新的changeId,然后再push;

方法二:在merge的时候加上--no-ff参数。

--no-ff:不使用fast-forward方式合并,合并的时候会创建一个新的commit用于合并。