3 回答
TA贡献1827条经验 获得超7个赞
fetch = +refs/heads/*:refs/remotes/origin/*
git fetch origin
git fetch origin +refs/heads/*:refs/remotes/origin/*
TA贡献1817条经验 获得超6个赞
剩下的几个(大部分是从GIT提取令人遗憾的是,这在某些地方有点过时):
如果远程跟踪分支(跟踪某个远程存储库中某个分支的分支)不存在,它将被创建。
你拿来的树枝(
<dst>
在……里面[+]<src>:<dst>
)不需要居住在remotes/<remote>/
命名空间。例如,对于镜像存储库(git clone --mirror
)respec是1比1。在过去的日子里,分开的遥控器布局(之前)remotes/<remote>/
用于远程跟踪参考的命名空间)师父分支被调用为分支起源..即使是当前的标记也直接被取到tags/
以镜像方式命名空间。如果你的分支被拉进(萤火虫的右手边)
<src>:<dst>
如果存在,git将检查下载是否会导致快速转发,即如果当前状态为<dst>
是国家的祖先<src>
在给定的远程存储库中。如果不是,你也不用-f
/--force
选项git-FETCH,或使用“+”前缀respec(使用+<src>:<dst>
FETCH将拒绝更新该分支。git fetch origin master
等于git fetch origin master:
,而不是git fetch origin master:master
;它存储获取的师父(偏僻的)分支起源)在取头,而不是在师父分支或远程跟踪remotes/origin/master
分支。它可以跟着git merge FETCH_HEAD
..通常不直接使用,但作为一次性拉出而不设置远程跟踪分支的一部分:git pull <URL> <branch>
.+refs/heads/*:refs/remotes/origin/*
作为价值远程获取配置变量意味着每个分支(refs/heads/
(命名空间)在远程中。起源分别命名为远程跟踪分支。refs/remotes/origin/
命名空间,例如师父分支机构起源(即:refs/heads/master
(参考文献)起源/主人远程跟踪分支(即refs/remotes/origin/master
参考文献)。“+”前缀意味着,即使在非快速转发的情况下,获取也会成功,这意味着当远程上的分支被重基或重绕(在过去重置为某种状态)或其他修改时。
TA贡献1848条经验 获得超10个赞
注意,Git的主要维护者现在(2014年8月,Git 2.1)添加了以下解释git fetch
:
(见提交fcb14b0通过Junio C.Hamano(gitster
):
配置远程跟踪分支
您经常通过定期和反复地从同一个远程存储库中获取信息来与其交互。为了跟踪这样一个远程存储库的进度,
git fetch
允许您配置remote.<repository>.fetch
配置变量通常,这样的变量可能如下所示:
[remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/*
使用此配置的方式有两种:
什么时候
git fetch
在没有指定要在命令行上获取哪些分支和/或标记的情况下运行。git fetch origin
或git fetch
,remote.<repository>.fetch
值用作参考规范-它们指定要取哪些参考文献,哪些本地参考文献需要更新。.
上面的示例将获取存在于origin
(即任何与值的左手边相匹配的引用,refs/heads/*
)中的相应远程跟踪分支。refs/remotes/origin/*
等级制度。什么时候
git fetch
与显式分支和/或标记一起运行,以便在命令行上获取。git fetch origin master
,<refspec>
s在命令行上给定,确定要获取的内容(例如,master
在示例中,它是master:
,这反过来又意味着“获取”master
“分支,但我没有明确说明要从命令行更新哪个远程跟踪分支”),示例命令将获取。只“master
“树枝。
这个remote.<repository>.fetch
值确定更新哪个远程跟踪分支(如果有的话)。
以这种方式使用时,remote.<repository>.fetch
值在决定什么获取(即当命令行列出respecs时,这些值不被用作respecs);它们仅用于决定。哪里获取的引用是作为映射存储的。
- 3 回答
- 0 关注
- 748 浏览
添加回答
举报