如何移动git origin / master

时间:2016-07-29 13:49:46

标签: git github branch sourcetree

Git让我发疯了。我分叉了一个github repo并添加了一些更改,然后意识到我已经在master之后对一些提交进行了更改。

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

Git stuff

我的更改是“添加对定向广告模式的支持”。正如您所看到的,我意外地在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分支吗?

2 个答案:

答案 0 :(得分:1)

尝试merge分支来源/主人主人

答案 1 :(得分:0)

啊我认为隐藏错误“非快进”的原因是Git担心如果我移动它会丢失origin/master提交,因为没有其他分支指向那个。 / p>

你可以通过使用强制推送告诉Git你真的想要它:

git push -f

不幸的是,isn't implemented in SourceTree因为没有人试图解释(这是“危险”,“总是一个错误”和“不是你想要的”)。