当尝试将本地分支的更改推送到远程仓库,但是远程仓库中的该分支已经有了您本地分支中没有的提交时,会出现这个提示。
具体来说,这个提示意味着:
- 推送被拒绝:不能直接将更改推送到远程仓库,因为远程仓库中的内容与您要推送的内容有冲突或不一致。
- 当前分支master的推送被拒绝:这是指您正在尝试推送的分支是master分支。
- 远程更改需要合并后再推送:这意味着远程仓库的master分支上已经有了您本地分支中没有的提交,需要先将这些更改合并到您的本地分支中。
下面是对提供的选项的解释:
- 合并(M):选择这个选项,Git将会合并远程分支和您的本地分支。这可能需要您解决合并过程中出现的任何冲突。合并通常被认为是更安全、更不易出错的操作,因为它不会重写历史
- 变基®:选择这个选项,Git将会对您的本地分支进行变基操作,即重新应用您的更改在远程分支的最新提交之上。这通常会产生一个更整洁的历史,但可能会重写项目历史。
可以选择合并或变基,完成操作后再次尝试推送:
- 合并:
git fetch origin git merge origin/master git push origin master
- 变基:
git fetch origin git rebase origin/master git push origin master
在执行合并或变基之后,可能需要解决任何出现的冲突,然后才能成功推送更改。