git - 如何解决 git 错误 : "Updates were rejected because the tip of your current branch is behind"

标签 git bitbucket git-merge

一位好心的同事将更改推送到 Master 而不是创建分支。这意味着当我尝试提交时出现错误:

Updates were rejected because the tip of your current branch is behind

我知道这应该通过发出 pull 请求来重新同步来解决,但我不想丢失我在本地所做的更改,我同样不想强制提交并清除所做的更改由其他人。

允许我 merge 更改而不丢失任何更改的正确方法是什么?

最佳答案

如果您已经进行了一些提交,您可以执行以下操作

git pull --rebase

这会将您所有的本地提交置于新 pull 的更改之上。

对此要非常小心:这可能会用远程仓库中分支头部的文件覆盖所有现有文件!如果发生这种情况并且您不想这样做,您可以使用

UNDO THIS CHANGE
git rebase --abort 

...在进行任何新提交之前,您自然必须这样做!

关于git - 如何解决 git 错误 : "Updates were rejected because the tip of your current branch is behind",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22532943/

相关文章:

git - "Merge remote-tracking branch ' xxx/master'"是否为 Pull Request 带来了麻烦?

git - 在git中查看对已删除文件的更改

git - libgit2-新手问题 : What goes in the file tree in a commit?

git - 去除悬挂 Blob 的最安全方法是什么

ruby-on-rails - 尝试克隆一个旧的 repo 并获取 PGconn、PGresult 和 PGError 常量已被弃用,并将从 1.0 版开始删除

git - 当我使用参数化分支 : fatal: Couldn't find remote ref refs/heads/${BUILD_BRANCH} 时,Jenkins 无法构建

git - 如何更改 bitbucket 中提交的用户名?

bitbucket - 如何在Bitbucket Wiki的Markdown中的表单元格内添加换行符?

ios - Git:托管在远程存储库中的库?

git - 两个分支添加的相同文件导致奇怪的 merge 冲突