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