我在来自develop
的分支上做了一些工作。我决定不再使用该分支,所以git checkout develop
然后使用git branch -D branch1.0
将其删除。后来我决定用git checkout -b branch1.0
再次创建分支(没有开发的变化)。但是,当我现在尝试推送新分支时,我得到以下错误:
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
为什么我会这样?任何指针都会非常感激!
答案 0 :(得分:1)
这是因为您的本地分支与远程分支不同步。 您可以使用以下方法强制推送本地分支:
git push -f origin <branch>
小心使用。 这将导致远程重播失去其他协作者所做的更改。
如果要保留远程提交的提交(保存本地提交后),请使用以下命令将本地分支与远程同步:
git pull --rebase
这会将所有本地提交置于新拉动的更改之上。在此之后,推送到您的远程仓库将不会引发任何标志。
如果您不删除远程跟踪信息,则重新创建具有相同名称的分支会在推/拉上引发标记。要解决此问题,请使用git branch -d -r origin/<branch>
删除远程跟踪信息。