gpt4 book ai didi

git "remote branch"术语的含义

转载 作者:行者123 更新时间:2023-12-03 23:58:47 25 4
gpt4 key购买 nike

我打字

git checkout staging
并创建了一个本地分支暂存,在命令提示符下,它说

Branch 'staging' set up to track remote branch 'staging' from 'origin'.


但是我对来自'origin'的远程分支'staging'这个术语感到有些模棱两可......实际上所谓的远程分支也在我的本地存储库中,只是它跟踪远程git服务器分支名称'staging'?
那么那个分支应该调用“从'origin'跟踪远程分支'staging',而不是我刚刚 checkout 的分支?
在 git 中,当说远程分支时,它通常是指本地存储库中的远程跟踪分支,而不是该分支真正驻留在远程(另一个位置)git 服务器中?
那么如何真正在远程(另一个位置)git 服务器中调用(如何描述)分支?
enter image description here

最佳答案

Git 自己的文档和术语使用在这里并不完全一致。然而,一旦你理解了 Git 正在使用的每个部分,它就会变得有意义。
首先是 Remote ,它是一个短名称,如 origin .1 这个名称提供了几个项目,其中最重要的是一个 URL。这个 URL 让你的 Git(你的 Git 软件在你的 Git 存储库上运行)联系其他一些 Git(相同或不同版本的 Git 软件,在其他一些 Git 存储库上运行)。
接下来,还有分支名称,如 mastermain以及您创建的任何其他名称。这些名称中的每一个还提供了几个项目,其中最重要的是为您提供某个特定提交的哈希 ID。根据定义,在分支名称中找到的提交哈希 ID 是某个提交链中的最后一次提交。通常,“最后”使它成为最近的; Git 将此提交称为分支的提示提交。
由于您的 Git 与其他某个 Git 对话,因此其他 Git——“远程 Git”,或者您想使用的任何短语——都有自己的分支名称。当您的 Git 调用该 Git 时,您的 Git 可以看到它们的分支名称。某个远程分支名称的逻辑术语是远程分支。有时,这就是人们所说的“远程分支”的意思。
但是在您的 Git 与该 Git 取得联系并带来他们拥有的任何您尚未提交的提交(所以现在您拥有它们)之后,您的 Git 将在您的存储库中创建一些类似的名称。如果他们有一个名为 main 的分支, 你的 Git 调用他们的 Git origin ,您的 Git 将创建 origin/main .如果他们有一个名为 develop 的分支,您的 Git 将创建 origin/develop .2
我叫这些 origin/*样式名称远程跟踪名称。 Git 的一部分称它们为远程跟踪分支名称。 Git 的其他部分和其他人有时称它们为远程分支。
显然,远程分支这个术语是有歧义的。有时它表示在远程上看到的分支名称,有时表示在您自己的存储库中看到的远程跟踪名称。例如,通过使用名为 _____ 的 Remote 上看到的短语分支名称(填写空白),您可以清楚地了解您在这里的意思。
事实证明,术语分支也有歧义:参见 What exactly do we mean by "branch"?我尝试在必要时使用短语分支名称更具体。

1既然你控制了名字,你可以在这里使用一个很长的名字。那会适得其反,所以我假设你使用一个短的。 :-)
2这实际上是创建或更新,您可以指示您的 Git 不要打扰它们的所有分支名称——但这是默认设置。请注意,默认情况下这里有一个小缺陷:如果他们在您自己的 Git 将其名称复制到您的远程跟踪名称后删除了他们的分支名称之一,则您的 Git 不会删除您的远程跟踪名称。因此,随着时间的推移,您的 Git 将建立“陈旧的”远程跟踪名称。

关于git "remote branch"术语的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65749128/

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