美文网首页
git remote 从其他仓库pull

git remote 从其他仓库pull

作者: 我的随笔 | 来源:发表于2020-09-03 16:13 被阅读0次

    git remote 就是用来管理 "remotes"的。

    remote 是什么呢? 简单的来讲就是另一个git 仓库(git repository)。

    当你从github克隆一个代码库以后,就会有一个默认的remote,它的名字叫origin。

    例如:

    test@ubunt64 ~/opus_enc_test (master)

    $ git remote

    origin

    test@ubunt64 ~/opus_enc_test (master)

    $ git remote -v

    origin  https://github.com/test/opus_enc_test.git (fetch)

    origin  https://github.com/test/opus_enc_test.git (push)

    这里看到的origin 就是 https://github.com/test/opus_enc_test.git

    添加remote

    git remote add <name> <url>

    添加一个地址为<url>的remote,并给它命名为<name>

    例如:

    test@ubunt64 ~/opus_enc_test (master)

    $ git remote add template ~/template/.git

    该命令添加一个名为 template 的remote, 它的地址是 ~/template/.git

    我们再来查看remote:

    test@ubunt64 ~/opus_enc_test (master)

    $ git remote -v

    origin  https://github.com/test/opus_enc_test.git (fetch)

    origin  https://github.com/test/opus_enc_test.git (push)

    template        /home/user/code/template/.git (fetch)

    template        /home/user/code/template/.git (push)

    这样做的好处是啥呢?我们就能从两个不同的仓库下载代码了。

    比如: template 这个仓库有个脚本叫build.sh,其他所有的模块库都需要用,这时候我们就只用修改template库里的build.sh,其他的库都能从template里pull,避免了多次修改。

    例如:

    test@ubunt64 ~/opus_enc_test (master)

    $ git pull template master

    remote: Counting objects: 30, done.

    remote: Compressing objects: 100% (11/11), done.

    Receremote: Total 30 (delta 81), reused 1 (delta 8)

    Receiving objects: 100% (30/30), 1.86 KiB | 294.00 KiB/s, done.

    Resolving deltas: 100% (81/81), completed with 1 local objects.

    From /home/user/code/template/

    Updating 1a80def0..a43805a1

    Fast-forward

    build/build.sh                |    6 +-

    是不是很方便?

    其他 git remote 命令请参考 manual

    相关文章

      网友评论

          本文标题:git remote 从其他仓库pull

          本文链接:https://www.haomeiwen.com/subject/vwhosktx.html