在 Push到服务器时有时会出现 rejected - non-fast-forward 错误,这是由于远端发生改变,此时再提交之前你需要将远端的改变合并到本地上
错误原因:文件冲突,本地的代码和远程Repository中的文件个数不一致(即远程Repository中存在本地项目中不存在的文件)或本地得项目不是在远程Repository代码的基础上修改的。
解决办法:
将远程Repository中的代码更新到本地,然后再进行Push,即可完成代码提交。
----------------------------------------------------------------------------------------------------------------------------------------------
以下是解决方案:
1> 打开 Git Repositories,在 Working Directory 中确保可以看到要提交的工程
2> 在 Remotes 中可以看到远端分支,在分支下向左的绿色箭头图标代表Fetch,右键 -> Configure Fetch
3> 确认 URI 和 Ref mappings都是正确的,点击 Save and Fetch,之后可以看到 Fetch Results 分支在一起,点击OK
4> 此时在 Branches 中应该可以看到 Remote Tracking 存在远端分支
5> 右键 Branches 中的 Local 中的 master,选择 Merge
6、选择 Remote Tracking 中的 origin/master,点击 Merge
7、这是合并后的反馈结果,之后就可以重新提交代码了