我有一个远程分支,它是pullrequest的基础。
我主要在不同的分支上工作,但现在应该替换旧的分支。
我尝试做git push remote oldBranch -f
,但只将我最新的本地oldBranch
推送到git服务器而不是当前分支 - 无论我目前在哪个分支。
如何用本地分支替换远程分支?
编辑: 如果有其他人感兴趣,这就是我的工作方式:
git checkout oldBranch
git branch -m 'oldBranchToBeReplaced'
git checkout newBranch
git branch -m oldBranch
git push myrepo oldBranch -f
答案 0 :(得分:39)
您可以使用git push的local-name:remote-name
语法:
git push origin newBranch:oldBranch
这会推送newBranch
,但在原点上使用名称oldBranch
。
因为oldBranch
可能已经存在,所以你必须强迫它:
git push origin +newBranch:oldBranch
(我更喜欢+
而不是-f
,但-f
也可以使用
要删除远程端的分支,请按下“空分支”,如下所示:
git push origin :deleteMe
答案 1 :(得分:0)
来自:https://deltacloud.apache.org/send-pull-request.html
$ git checkout -b my branch
Coding your changes
$ git commit -m "Commit message"
推动您的工作
更新原始回购 这将避免可能的合并冲突和应用补丁的问题。
$ git checkout master
$ git pull
推到你的前叉。
$ git checkout my_work_topic
$ git rebase -i master (Tip: You can rename/squash commits at this point)
$ git push origin my_work_topic
发出拉请求
导航到您的forked Github存储库 例如:https://github.com/your username / deltacloud-core.git 单击“拉取请求”选项卡 (提示:您可以使用集线器自动执行此步骤) 有关使用拉取请求的更多详细信息,请参阅:官方GitHub帮助For Using Pull Request