假设我的本地存储库当前是原始文件后面的一个提交。假设我在本地存储库中提交了与源不冲突的更改。如何在不先从原点拉动/合并更改的情况下将此更改推送到原点?
答案 0 :(得分: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)
现在其他人可以合并/修改您的功能。最终,您必须修复错误并将其拉到本地,或者您在保留自定义本地主数据时设计略有不同的工作流程。
答案 1 :(得分:0)
你不能做你所描述的,但我想你想要的是:
git pull --rebase
git push
上面的命令将优雅地合并您的本地仓库和远程仓库(不创建合并提交)并将您的本地提交推送到远程。
答案 2 :(得分:0)
他有可能只是为了备份他的变化来推送到遥控器,如果是这样的话,他可以用
进行。git push origin HEAD:refs/heads/some_branchname_not_in_use
我通常会使用trash/somebranchname
来表示这些目的。