什么';git fetch origin和git fetch的区别是什么git://127.0.0.1/`
我正在试验git,并在什么';git fetch origin和git fetch的区别是什么git://127.0.0.1/`,git,git-remote,git-fetch,Git,Git Remote,Git Fetch,我正在试验git,并在~/a中创建了一个只包含一个主分支的存储库 然后,我将此存储库克隆到~/B(通过在~/a中启动git守护进程并运行git clone)git://127.0.0.1/) 然后,我在~/a中创建了一个新的test分支,并尝试在~/B中获取该分支。但是,git fetchgit://127.0.0.1/仅显示 From git://127.0.0.1 * branch HEAD -> FETCH_HEAD 为了得到新的分支,我最后做了
~/a
中创建了一个只包含一个主分支的存储库
然后,我将此存储库克隆到~/B
(通过在~/a
中启动git守护进程
并运行git clone)git://127.0.0.1/
)
然后,我在~/a
中创建了一个新的test
分支,并尝试在~/B
中获取该分支。但是,git fetchgit://127.0.0.1/
仅显示
From git://127.0.0.1
* branch HEAD -> FETCH_HEAD
为了得到新的分支,我最后做了git-fetch
,据我所知,这相当于git-fetch-origin
。不管怎样,这两个都给了我
From git://127.0.0.1
* [new branch] test -> origin/test
之后,我可以通过执行git checkout test
开始处理~/B
中的test
分支
git fetch怎么可能git://127.0.0.1/
和git-fetch-origin
在git-remote-v
显示时有不同的结果
origin git://127.0.0.1/ (fetch)
origin git://127.0.0.1/ (push)
守护进程对所有命令显示相同的请求,即
[20291] Extended attribute "host": 127.0.0.1
[20291] Request upload-pack for '/'
当您运行
git fetch origin
时,您要求git查找您的远程命名源的配置,从配置的URL获取,并编写任何fetchspec映射以将远程信息存储在远程跟踪分支中(例如将您的refs/remotes/origin/master
映射到远程的refs/heads/master
)
当您运行
git fetch
时,您绕过了远程配置。git不会尝试将url与远程匹配,而是使用远程配置。(实际上,这是不明确的,您可以有多个具有相同url的远程,这可能有助于配置不同的获取规范)
相反,
git fetch
将直接从指定的url获取,并将遥控器的HEAD
放入您的fetch\u HEAD
文件中。由于没有遥控器,因此它不会更新远程跟踪分支。您可以检查fetch\u HEAD
以查看您获取的内容,但是使用re更容易获取mote而不是url。您的Git url看起来不正确。我认为它应该以.Git
@TimBiegeleisen结尾。我从注释Git clone中得到了这一部分git://127.0.0.1/
不会导致任何problem@TimBiegeleisen不要求URL以.git
结尾。这只是一种约定。你说“您可以有多个具有相同URL的远程设备,这对于配置不同的获取规范可能很有用。”我在哪里可以调查这些“获取规范”“?我猜,git remote-v
向我展示了关于远程的所有知识,但正如问题中提到的,这个命令只显示URLST这是一个好问题-我看不到一个明显的简单命令来完成它;您可以运行git config--get all remote.origin.fetch
。(我本以为会有一个git-remote
命令,但我没有看到。)