Git之远程仓库的使用
一、配置
通过 git remote add 仓库简写 远程仓库URL / 远程仓库SSH 来配置添加远程仓库。
如:
$ git remote add origin https://github.com/xxx
//use URL
$git remote add origin git@github.com:xxx
//use SSH
添加成功后,就可以使用”仓库简写“来代替远程仓库的URL或者SSH了。
二、查看已配置好的远程仓库
使用 git remote -v 查看远程仓库使用的 Git 简写与其对应的URL,如:
$git remote -v
三、从远程与克隆
git fetch
使用 git fetch (remote)可以访问远程仓库并从中拉取本地没有的数据。注意完成后没有创建跟踪分支。
如果要将所有分支全部拉取下来,可以:
$git fetch origin
或简写:
$git fetch
使用 git fetch (remote) (branch) 从远程仓库的指定分支拉去数据。
$git fetch origin master
指定拉取远程分支的特定分支到本地的特定分支:
$git fetch origin maint:tmp
git pull
使用 git pull (remote)可以从远程仓库 fetch 下指定的分支然后直接 merge 到本地指定的分支。格式:
$git pull <远程主机名> <本地分支名>:<远程分支名>
如果是与当前分支合并,可省略冒号前面的部分:
$git pull origin master
如果当前分支与远程分支已存在跟踪关系,可省略远程主机名:
$git pull origin
如果想在合并的时候采用rebase模式,使用–rebase选项:
$git pull --rebase <远程主机名> <本地分支名>:<远程分支名>
git clone
使用 git clone 会直接在本地的同名分支(如果没有则创建)跟踪远程仓库的相应分支。也就是说,克隆后就已创建跟踪分支。
$git clone https://github.com/xxx
此时本地也会生成一个目录,与远程主机的版本库同名。
如果想克隆到指定目录:
$git clone https://xxx 指定目录
如果想克隆远程分支上指定的分支:
$git clone -b 分支名 https://github.com/xxx
这样,就只会克隆v2的分支了。
四、推送远程分支
使用 git push (remote) (branch) 将本地的branch分支推送到 remote对应的仓库中的指定分支上。格式:
$git push <远程主机名> <本地分支名>:<远程分支名>
如果省略本地分支名,则相当于将一个空的分支推送到远程分支上,也就是将该远程分支删除。即:
$git push <远程主机名> :<远程分支名>
等价于
$git push <远程主机名> --delete <远程分支名>
表示删除远程主机的远程分支。
如果当前分支与远程分支有追踪关系,例如之前,则已用-u设置了默认跟踪,则本地分支与远程分支皆可省略:
$git push <远程分支名>
更进一步,如果,当前分支只有一个追踪的分支,则可直接:
$git push
分支与多个存在追踪关系,可使用-u指定默认追踪关系:
$git push -u <远程主机名> <远程分支名>
五、查看指定远程仓库
使用 git remote show (remote),如:
$git remote show <远程仓库>
六、远程仓库的删除
$git remote remove <远程仓库名>
或
$git remote rm <远程仓库名>
七、远程仓库的重命名
$git remote rename <旧的远程仓库名> <新的远程仓库名>