git remote 从其他仓库pull

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

添加一个地址为的remote,并给它命名为

例如:

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)