git remote命令

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/zyiz/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/zyiz/sample.git (fetch)
origin  http://git.oschina.net/zyiz/sample.git (push)

Administrator@MY-PC /D/worksp/sample (master)
$ git remote --verbose
origin  http://git.oschina.net/zyiz/sample.git (fetch)
origin  http://git.oschina.net/zyiz/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/zyiz/sample.git
$ git remote -v origin http://git.oschina.net/zyiz/sample.git
  pb http://git.oschina.net/zyiz/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/zyiz/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