我有一个带有远程分支的提交树。最近,我要求将更改从我的master
分支推送到另一个远程分支origin_fsa/master
。
我添加了新的远程origin_fsa
并从该远程获取远程分支,现在它与主提交图分开。像这样(我使用TortoiseGit):
我想用我的特定提交重新编写这个新添加的远程的所有东西(不需要合并,不需要在origin_fas/master
远程分支上保留这些提交,也许只是硬拷贝)。但我不知道该怎么做。
我希望origin_fsa/master
远程分支(蓝线)位于我当前的主人身上。
答案 0 :(得分:2)
强制将您的本地master
分支推送到master
上的origin_fsa
分支:
git push -f origin_fsa master:master
答案 1 :(得分:1)
使用TortoiseGit:
如你所见,它是:
推送本地分公司“主人”
到远程分支“主人”
在远程“origin_fsa”上 用武力(实际上,它是“--force-with-lease”git选项)
请注意,如果您不先合并/重新绑定,强制推送可能会丢失远程“origin_fsa”上的某些提交。
另请参阅了解更改和未知更改选项的提示:
(在这些选项上移动鼠标时会显示这些提示)
我建议先使用已知更改选项。
如果不使用强制选项,则可能会遇到此错误:
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.