如何移动gitorigin/master

How to move git origin/master

Git 快把我逼疯了。我分叉了一个 github 存储库并添加了一些更改,然后意识到我已经在 master 之后的一些提交之上进行了更改。

在我本地的 repo 副本中,我将 master 重置回 upstream/master,然后挑选更改。像这样:

我找的是"Add support for directed advertising mode"。如您所见,我不小心在 upstream/scheduling_policy 而不是 upstream/master.

之上做了它
The problem is when I try and push this, I get this error:

git -c diff.mnemonicprefix=false -c core.quotepath=false push -v --tags --set-upstream origin master:master
Pushing to https://github.com/Timmmm/ble.git
To https://github.com/Timmmm/ble.git
... lots of [up to date]s ...
 = [up to date]      v2.5.2 -> v2.5.2
 = [up to date]      v2.6.0 -> v2.6.0
 = [up to date]      workingOldBootloader -> workingOldBootloader
 ! [rejected]        master -> master (non-fast-forward)

有人可以告诉我将 origin/master 分支移动到本地 master 分支所需的完全直观的命令吗?

尝试 merge 分支 origin/mastermaster

啊我认为神秘错误 "non-fast-forward" 的原因是 Git 担心如果我移动它会丢失 origin/master 提交,因为没有其他分支点

您可以告诉 Git 您确实需要使用强制推送:

git push -f

不幸的是,这个 isn't implemented in SourceTree 的原因甚至没有人试图解释(它是 "dangerous"、"always a mistake" 和 "not what you want")。