git remote命令


git remote命令管理一組跟蹤的儲存庫。

要參與任何一個 Git 專案的共同作業,必須要了解該如何管理遠端倉庫。遠端倉庫是指託管在網路上的專案倉庫,可能會有好多個,其中有些你只能讀,另外有些可以寫。同他人共同作業開發某 個專案時,需要管理這些遠端倉庫,以便推播或拉取資料,分享各自的工作進展。管理遠端倉庫的工作,包括新增遠端庫,移除廢棄的遠端庫,管理各式遠端庫分支,定義是否跟蹤這些分支等等。

使用語法

git remote [-v | --verbose]
git remote add [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=<fetch|push>] <name> <url>
git remote rename <old> <new>
git remote remove <name>
git remote set-head <name> (-a | --auto | -d | --delete | <branch>)
git remote set-branches [--add] <name> <branch>…?
git remote get-url [--push] [--all] <name>
git remote set-url [--push] <name> <newurl> [<oldurl>]
git remote set-url --add [--push] <name> <newurl>
git remote set-url --delete [--push] <name> <url>
git remote [-v | --verbose] show [-n] <name>…?
git remote prune [-n | --dry-run] <name>…?
git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)…?]

描述

git remote命令管理一組跟蹤的儲存庫。

範例

以下是一些範例 -

1.檢視當前的遠端庫

要檢視當前組態有哪些遠端倉庫,可以用 git remote 命令,它會列出每個遠端庫的簡短名字.在克隆完某個專案後,至少可以看到一個名為 origin 的遠端庫, git 預設使用這個名字來標識你所克隆的原始倉庫:

$ git clone http://git.oschina.net/yiibai/sample.git
$ cd sample

(1)git remote 不帶引數,列出已經存在的遠端分支

$ git remote
origin

2)git remote -v | --verbose 列出詳細資訊,在每一個名字後面列出其遠端url
此時, -v 選項(譯註:此為 –verbose 的簡寫,取首字母),顯示對應的克隆地址:

$ git remote -v
origin  http://git.oschina.net/yiibai/sample.git (fetch)
origin  http://git.oschina.net/yiibai/sample.git (push)

Administrator@MY-PC /D/worksp/sample (master)
$ git remote --verbose
origin  http://git.oschina.net/yiibai/sample.git (fetch)
origin  http://git.oschina.net/yiibai/sample.git (push)

2.新增一個新的遠端,抓取,並從它檢出一個分支 -

$ git remote
origin
$ git branch -r
  origin/HEAD -> origin/master
  origin/master
$ git remote add staging git://git.kernel.org/.../gregkh/staging.git
$ git remote
origin
staging
$ git fetch staging
...
From git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
 * [new branch]      master     -> staging/master
 * [new branch]      staging-linus -> staging/staging-linus
 * [new branch]      staging-next -> staging/staging-next
$ git branch -r
  origin/HEAD -> origin/master
  origin/master
  staging/master
  staging/staging-linus
  staging/staging-next
$ git checkout -b staging staging/master
...

3.新增遠端倉庫

要新增一個新的遠端倉庫,可以指定一個簡單的名字,以便將來參照,執行 git remote add [shortname] [url]:

$ git remote
  origin
$ git remote add pb http://git.oschina.net/yiibai/sample.git
$ git remote -v origin http://git.oschina.net/yiibai/sample.git
  pb http://git.oschina.net/yiibai/sample2.git 現在可以用字串 pb 指代對應的倉庫地址了.比如說,要抓取所有 Paul 有的,但本地倉庫沒有的資訊,可以執行 git fetch pb:

$ git fetch pb
  remote: Counting objects: 58, done.
  remote: Compressing objects: 100% (41/41), done.
  remote: Total 44 (delta 24), reused 1 (delta 0)
  Unpacking objects: 100% (44/44), done.
  From http://git.oschina.net/yiibai/sample2.git
  * [new branch] master -> pb/master
  * [new branch] ticgit -> pb/ticgit

4.模仿 git clone,但只跟蹤選定的分支

$ mkdir project.git
$ cd project.git
$ git init
$ git remote add -f -t master -m master origin git://example.com/git.git/
$ git merge origin