我有一个“dev”git分支。我在本地做了一些代码更改。我没有将它们提交给远程“dev”分支。现在我已经完成了更改,我不想将本地更改提交到同一个远程分支。我想创建一个名为“over_here”的新分支并在那里提交更改。
如何实现这一目标?
答案 0 :(得分:6)
假设您的遥控器具有标准的git名称origin
:
git checkout -b over_here
git push origin over_here
根据您是否需要将dev
分支重置为origin/dev
状态,您还可以执行
git checkout dev
git reset --hard origin/dev
更新:上面的内容是假设您提交了一些更改。正如您在评论中所说,您没有向本地dev
分支提交任何内容 - 您需要立即结帐新分支:
git checkout -b over_here
现在您的更改仍在此处,但您在新创建的分支上。因此,您已准备好提交本地更改:
git commit -m 'my local changes to over_here branch'
现在这些更改仅在您的本地仓库中。如果你想将它们推入远程存储库(可能是github) - 你应该执行:
git push origin over_here
它将在远程存储库中创建新分支并在那里提交更改。
答案 1 :(得分:0)
如果您想将分支foo
推送到远程bar
上的分支origin
,您可以使用git push origin foo:bar
。 git push origin foo
是git push origin foo:foo
如果您使用git push --set-upstream origin foo:bar
,则可以在该分支上仅使用git push
和git pull
,而无需指定远程和分支名称。