代码之家  ›  专栏  ›  技术社区  ›  Bananach

“git fetch origin”和“git fetch”有什么区别git://127.0.0.1/`

  •  2
  • Bananach  · 技术社区  · 7 年前

    我正在试验git,并在中创建了一个存储库 ~/A 只包含主分支的。

    然后,我将此存储库克隆到 ~/B git daemon 在里面 ~/A 跑步 git clone git://127.0.0.1/ ).

    然后我创建了一个新的 test 插手 ~/A 试图把那根树枝插进去 ~/B . 然而, git fetch git://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

    怎么可能呢 git获取git://127.0.0.1/ 和 git获取源 有不同的结果,当 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 '/'
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   Edward Thomson    7 年前

    git fetch origin 您要求git查找远程命名源的配置,从配置的URL获取,并编写任何fetchspec映射以将远程信息存储在远程跟踪分支中(例如映射 refs/remotes/origin/master refs/heads/master ).

    当你跑的时候 git fetch <url>

    相反 git fetch<url> HEAD 进入你的 FETCH_HEAD 文件由于没有远程跟踪分支,因此不会更新远程跟踪分支。你可以检查 不过,要查看您获取的内容,使用远程设备而不是url获取要容易得多。