Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';git fetch origin和git fetch的区别是什么git://127.0.0.1/`_Git_Git Remote_Git Fetch - Fatal编程技术网

什么';git fetch origin和git fetch的区别是什么git://127.0.0.1/`

什么';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 为了得到新的分支,我最后做了

我正在试验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
为了得到新的分支,我最后做了
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
命令,但我没有看到。)