使用Git的版本控制说
默认情况下,每个新克隆都通过远程维护返回其父存储库的链接 称为起源。 ... Git还使用默认的获取refspec配置默认的原始远程服务器:
fetch = +refs/heads/*:refs/remotes/origin/*
建立此refspec表示您希望继续 通过从以下位置获取更改来更新本地存储库 原始存储库。在这种情况下,远程存储库的分支 在克隆中以
origin/
为前缀的分支名称可用, 例如origin/master, origin/dev
或origin/maint
。
上面似乎说origin/master
是指远程存储库中的远程分支。
如果由于克隆而使备用历史记录位于不同的存储库中,则 必须通过获取操作将远程分支带入您的存储库。您可以 通过直接
git fetch
命令或作为git pull
命令的一部分执行操作;哪一个都没关系。无论哪种情况,提取都会将远程提交(这里为C和D)带入您的存储库。提交C和D的备用历史记录的引入绝对不会改变 X和Y代表的历史记录;这两个交替的历史现在都存在 同时在您的存储库中形成更复杂的图形。你的历史是 由您的master分支代表,而远程历史记录由origin/master
远程跟踪分支代表。
上面似乎说origin/master
指的是本地存储库中的远程跟踪分支。
origin/master
是指远程存储库中的远程分支还是本地存储库中的远程跟踪分支?什么时候提到哪个?
谢谢。
答案 0 :(得分:4)
您对第一段的评估对我来说似乎是错误的:origin/master
确实是指您本地的远程跟踪分支。
这表示为“远程存储库的分支可以在分支中在克隆中通过分支名称使用...”。这些是远程分支的本地副本,仅在您fetch
时更新,但随时可以本地访问。