如何使现有分支跟踪远程分支[关闭]

Posted

技术标签:

【中文标题】如何使现有分支跟踪远程分支[关闭]【英文标题】:how do I make an existing branch track a remote branch [closed] 【发布时间】:2022-01-19 21:58:14 【问题描述】:

近一年来,我只是在每次进行新更改时复制 zip 文件以避免处理 git pull fetch track origin rebase master slave

简单地下载或克隆存储库,然后将其设置为跟踪更改有多难? 并且,当您使用它时,请不要覆盖我的更改。 我不是开发者,所以不需要推送(上传)。

您是否能够跟踪 HTTPS 地址还是必须是 SSSH?

我只是想跟踪https://github.com/MarlinFirmware/Marlin/tree/bugfix-2.0.x上的更改 就是这样。

【问题讨论】:

另外请不要添加与问题无关的语言标签。 另外,在我看来,您所描述的应该一点也不难。如果您想问为什么您的操作不起作用,请更具体(阅读:How to Ask 和:minimal reproducible example)。 不,这不是咆哮,这是一个合理的问题,我确实找到了其他帖子都有相同的问题和相同的复杂答案,除非你有,否则实际上并没有帮助/工作几年经验。 也没有必要对我的问题投反对票,如果您知道答案或更新的方法,因为 vscode 和 git 都在不断发展,那么您可以分享,以便我自己和其他人可以学习跨度> (1) 克隆存储库 - 不要下载 zip 文件!压缩文件 = 一个 提交,克隆 = 所有 提交。你需要所有的提交。 (2) git branch --set-upstream-to=origin/foo foo 使本地分支名称foo 具有origin/foo 设置为其上游。如果需要,添加不同的遥控器。 (3) 运行git fetch(或git remote update,如果您有多个遥控器); git status 现在将检查当前分支上的当前提交,与其指定的远程跟踪名称。在您提取之前,远程跟踪名称只记住 last 提取,因此您必须提取。 【参考方案1】:

谢谢 Torek 和 VonC,我昨晚在 LinkdIn 学习视频后确实弄明白了,但是你们两个基本上都搞定了,我做了一个新的 git checkout --track remotes/2.0.9.2/bugfix-2.0.x git br -avv 我准备好了。 Torek 你对过度杀伤是正确的,没有快乐的中位数,但没有杀死我的东西会让我更强大,加上在 3 台不同的打印机上维护固件,我的下一课将是更好的版本控制。

【讨论】:

【参考方案2】:

我刚刚测试过,git clone -b:

C:\Users\vonc\git\tests>git clone https://github.com/MarlinFirmware/Marlin -b bugfix-2.0.x
Cloning into 'Marlin'...
...

C:\Users\vonc\git\tests\Marlin>git br -avv
* bugfix-2.0.x                6dc056f771 [origin/bugfix-2.0.x] ? Fix UTF-8 errror in configuration embed and retrieve  (#23303)
  remotes/origin/1.0.x        9495731c57 Disable integration testing
...

意思:我克隆并直接在正确的本地分支bugfix-2.0.x,它跟踪正确的远程跟踪分支origin/bugfix-2.0.x

任何后续的git pull 都会默认更新该分支。

【讨论】:

以上是关于如何使现有分支跟踪远程分支[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

你如何停止在 Git 中跟踪远程分支?

如何修剪远程不再存在的本地跟踪分支

如何让新分支显示在 Eclipse Git 远程跟踪中?

GIT-如何跟踪远程分支

如何将新的本地分支推送到远程 Git 存储库并对其进行跟踪?

跟踪远程分支