https://blog.csdn.net/chenshun123/article/details/46756087
在 Push到服务器时有时会出现 rejected - non-fast-forward 错误,这是由于pull的代码而远端发生改变,此时再提交之前你需要将远端的改变合并到本地上
![](https://i-blog.csdnimg.cn/blog_migrate/c96ec32b23151adc2590d5b147bcd64b.jpeg)
以下是解决方案:
1> 打开 Git Repositories,在 Working Directory 中确保可以看到要提交的工程
![](https://i-blog.csdnimg.cn/blog_migrate/6c521a185e740cc617fd3904c8e40596.jpeg)
2> 在 Remotes 中可以看到远端分支,在分支下向左的绿色箭头图标代表Fetch,右键 -> Configure Fetch
![](https://i-blog.csdnimg.cn/blog_migrate/e9beafe2d3cbfd50cce1c116991c38df.jpeg)
3> 确认 URI 和 Ref mappings都是正确的,点击 Save and Fetch,之后可以看到 Fetch Results 分支在一起,点击OK
![](https://i-blog.csdnimg.cn/blog_migrate/3b810998aebb3a9ace2ef57f54f0e558.jpeg)
4> 此时在 Branches 中应该可以看到 Remote Tracking 存在远端分支
![](https://i-blog.csdnimg.cn/blog_migrate/7a310372882422383a01be40187f76cd.jpeg)
5> 右键 Branches 中的 Local 中的 master,选择 Merge
![](https://i-blog.csdnimg.cn/blog_migrate/f8e675ca51628ec777c6afbe0516a50e.jpeg)
6、选择 Remote Tracking 中的 origin/master,点击 Merge
![](https://i-blog.csdnimg.cn/blog_migrate/9d916692a27864f937eed871f8758ee1.jpeg)
7、这是合并后的反馈结果,之后就可以重新提交代码了
![](https://i-blog.csdnimg.cn/blog_migrate/055824b1f158e357bcd5f53a7d1e8a5d.jpeg)