我有一个拥有大量分支的远程存储库。每次有新版本时,都会创建一个新分支。当新版本可用时,我怎样才能更改分支并拉动更改,以避免再次克隆它们。我只想下载新的提交。
答案 0 :(得分:2)
git fetch origin
git checkout new-version`
其中origin
是远程名称,new-version
是分支名称。
git fetch
的{{3}}说:
从一个或多个获取分支和/或标记(统称为“refs”) 其他存储库,以及完成它们所需的对象 历史。远程跟踪分支已更新。
这基本上意味着它从远程转发并下载存储库的历史记录。但是,存储库可以有多个远程数据库,因此git fetch
可以使用--all
标记获取其中一个或多个。
默认情况下,指向要获取的历史记录的任何标记都是 也取了效果是获取指向分支的标签 您感兴趣的是。可以使用更改此默认行为 --tags或--no-tags选项...通过使用明确提取标签的refspec, 你可以获取不指向你感兴趣的分支的标签 同样。
意思是,如果你有,例如,分支 A,B& C 在遥控器上,在本地你正在分支 C 。如果您git fetch origin C
,默认情况下,这也将获取指向该分支的标记,但它不会获取与其他分支相关的标记,例如 A 和 B 。
如果要获取所有标记,只需将--tags
添加到命令中即可。
最后,
如果未指定遥控器,则默认情况下为原点遥控器 使用,除非有为当前配置的上游分支 分支。
git fetch
documentation,这一切都得到了很好的解释。