如何将另一个远程分支连接到提交树

时间:2017-11-08 14:42:27

标签: git branch tortoisegit

我有一个带有远程分支的提交树。最近,我要求将更改从我的master分支推送到另一个远程分支origin_fsa/master

我添加了新的远程origin_fsa并从该远程获取远程分支,现在它与主提交图分开。像这样(我使用TortoiseGit):

enter image description here

我想用我的特定提交重新编写这个新添加的远程的所有东西(不需要合并,不需要在origin_fas/master远程分支上保留这些提交,也许只是硬拷贝)。但我不知道该怎么做。

我希望origin_fsa/master远程分支(蓝线)位于我当前的主人身上。

2 个答案:

答案 0 :(得分:2)

强制将您的本地master分支推送到master上的origin_fsa分支:

git push -f origin_fsa master:master

答案 1 :(得分:1)

使用TortoiseGit:

enter image description here

如你所见,它是:

  

推送本地分公司“主人”
      到远程分支“主人”
      在远程“origin_fsa”上       用武力(实际上,它是“--force-with-lease”git选项)

请注意,如果您不先合并/重新绑定,强制推送可能会丢失远程“origin_fsa”上的某些提交。

另请参阅了解更改未知更改选项的提示:
enter image description here
enter image description here
(在这些选项上移动鼠标时会显示这些提示)

我建议先使用已知更改选项。

如果不使用强制选项,则可能会遇到此错误:

git.exe push --progress "origin_fsa" master:master

To XXX/fsa.git
! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'XXX/fsa.git'
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.