假设我的本地存储库当前是源之后的一个提交。假设我在本地存储库中提交了与源不冲突的更改。如何在不先从原点拉/合并更改的情况下将此更改推送到原点?
问问题
74 次
3 回答
3
好的,因此您因非快进推送而被拒绝,并且您有理由不想从远程拉取最新更新。我认为很明显你需要分支你的改变。
因此,让我们在公共点 HEAD~n 处创建一个分支,在您的情况下为 HEAD~1:
git branch myfeat HEAD~1
然后快进:
git checkout myfeat
git merge master
现在新分支有一个共同点,所以只需:
git push origin myfeat
远程仓库现在看起来像这样:
--X---X--X--Xbug (master)
\
\--Xfeat (myfeat)
现在其他人可以合并/重新定位您的功能。最终,您将不得不修复错误并将其拉到本地,或者您设计一个稍微不同的工作流程,因为您要保留一个自定义的本地主机。
于 2012-05-20T04:30:54.787 回答
0
你不能做你所描述的,但我想你想要的是:
git pull --rebase
git push
上面的命令将优雅地合并您的本地仓库和远程仓库(不创建合并提交)并将您的本地提交推送到远程。
于 2012-05-17T09:35:21.333 回答
0
他可能只想推送到遥控器纯粹是为了备份他的更改,如果是这样的话,他可以这样做
git push origin HEAD:refs/heads/some_branchname_not_in_use
我通常trash/somebranchname
用于这些东西,目的很明显。
于 2012-05-17T09:45:58.890 回答