gpt4 book ai didi

Git:使用来自不同远程的两个具有相同名称的分支

转载 作者:行者123 更新时间:2023-12-05 05:08:48 26 4
gpt4 key购买 nike

我使用的存储库既存在于 github 上,也存在于内部 gitlab 上。我设置了两个 Remote :origin (github) 和 gitlab

我如何轻松地与两个 Remote 的分支 master 交互?

我尝试过的:

  1. git checkout --track gitlab/master -> 错误:A branch named 'master' already exists.
  2. git checkout -b master-gitlab --track gitlab/master -> 成功了,我现在有一个本地分支 master-gitlab 并且控制台输出告诉我: master-gitlab setup to track remote branch master from gitlab. -> 完美,这就是我想要的!
  3. git push gitlab master-gitlab -> 这会在远程 gitlab 上创建一个新的远程分支 master-gitlab > 这不是我想要的,并且与上一条命令的输出不一致。
  4. 我现在可以执行 git push gitlab master-gitlab:mastermaster-gitlab 推送到远程 gitlab 的 master 。但我总是忘记如何做到这一点,而且它不是很直观。

有没有更简单的方法来跟踪不同远程的 master 分支并推送到它?

这是一个 git-bug,它首先 (3) 告诉我跟踪 master 然后在推送时创建一个新分支吗?

最佳答案

从某种意义上说,git 正在按照文档所说的那样做,这不是错误。在这种情况下,它也可能不是最直观的结果,但是有多少种不同的方法可以将远程分支与本地引用相关联,我真的不认为在任何情况下都有一种行为对每个人都是直观的。

一般情况下,推送配置与 pull 配置是分开设置的。 (您可以查看 git push 文档,了解当您没有在命令行上指定所有内容时,它如何尝试确定将什么推送到哪里。https://git-scm.com/docs/git-push)

也就是说,默认推送配置会尝试使用 pull 配置如果您正在推送到默认远程。您可以将 push 配置为始终默认使用 upstream 配置

git config push.default upstream

然后你可以使用 just 推送 master-gitlab

git push

如果它被 checkout ,并且

git push gitlab master-gitlab

无论如何。当然,由于这会更改默认设置,因此可能会影响您与 gitlab 的其他交互,因此我鼓励您查看文档并确保您了解行为上的差异以决定是否值得。

关于Git:使用来自不同远程的两个具有相同名称的分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58080762/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com