【问题标题】:Change what remote branch a local is associated with?更改本地关联的远程分支?
【发布时间】:2022-06-20 21:53:32
【问题描述】:

我在 git repo 中维护一个分支(图中的本地/远程)。我在分支的本地版本中处理的代码实际上属于另一个分支(图中的分支 2)。

不幸的是,虽然我没有推送分支的本地提交,但另一个开发人员推送了他们的版本,这在原始图表中造成了这种情况。

为了尝试修复它,我将本地副本重新定位到分支 2。 但是,我的本地副本仍然与它的原始远程分支相关联。

我想将它与分支 2 关联,然后推送,以获得所需图表中的结果。

我怎样才能做到这一点?

【问题讨论】:

  • 你的手绘图很难看懂。最左边的是“Branch”还是“Branch2”?你能把它转换成ASCII艺术吗?它将极大地帮助未来的读者。
  • 无论你做什么......如果你不想把事情搞砸并且你正在与其他开发人员一起工作,请小心不要“重写历史”。这意味着对树进行更改会破坏其他开发人员的本地副本。如果远程“分支 2”已经存在并且其他开发人员已从中撤出,然后您想用不同的定义替换该远程分支,那就是“重写历史”。如果“分支 2”尚不存在,或者没有其他开发人员从中撤出,那么你很好。 - 否则,拉出该分支,将您的更改合并到它,然后将其推回。

标签: git git-rebase gitkraken


【解决方案1】:

如果您想将本地分支推送到不同名称的分支,只需执行git push remoterepo localbranch:remotebranch

如果需要更改上游,请使用git branch --set-upstream-to=remotebranch localbranch

【讨论】:

  • 您可以使用 git remote add {nickname} <remote_branch> 在本地存储库的配置中添加另一个远程存储库。然后当你执行推/拉时,你可以指定你将使用git [ push | pull ] {nickname}
【解决方案2】:

由于这个问题被标记为“gitkraken”,因此您在 GitKraken 中是如何做到的:

  • 右键单击本地分支(在图表视图或左侧面板中)
  • 选择“设置上游”
  • 在提示中设置远程仓库和分支名称,然后点击“提交”

GitKraken 网站上的解释:https://www.gitkraken.com/learn/git/problems/git-set-upstream-branch#:~:text=With%20GitKraken%2C%20it's%20easy%20to,push%20instead%20of%20setting%20upstream.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-01
    • 2021-09-17
    • 2016-09-12
    • 2014-04-27
    • 2013-04-30
    • 2014-10-07
    • 2013-08-31
    • 2012-09-02
    相关资源
    最近更新 更多