在你提交之前可能有其他人完成了某个模块,然后推送到了仓库里,然而你本机的代码没更新,这样你提交时会发现远程代码仓库已经更改,有冲突出现,无法提交。Push出现rejected - non-fast-forward错误。这样,你需要先将远程代码merge到本地,使本地代码保持与仓库代码一致,具体操作:
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
如果发现有文件冲突,则需要手动合并冲突的文件。合并后,在synchronize视图窗口中,选择文件,右键add to index,再commit到本地仓库。最后,在push到远程仓库即可。