为了实现与其他开发人员分享或者协同工作的目的,我们需要使用git的远程操作,将数据放到所有参与者都可以访问的服务器上,目前最广为人知的是GitHub平台。
GitHub平台的注册、SSH Keys配置以及验证等不在此做赘述,在此假设已经在GitHub上完成相关配置,及新建完远程代码仓库。
关联本地仓库和远程仓库
有两种方法关联本地仓库和远程仓库
1.通过git remote add命令
完成新建本地工作目录以及git初始化等工作之后,使用
git remote add origin git@github.com:tianqixin/runoob-git-test.git
git push -u origin master
把本地仓库的内容推送到远程仓库并与其关联
2.通过git clone命令
以上两种方式关联的远程仓库,通过
git remote -v
命令查询到的远程仓库在本地的标签都是'origin',GitHub在git clone时默认指定的是'origin'标签,而git remote add时,可以任意指定标签,一般习惯性地也用'origin'标签。
提取远程仓库
1.从远程仓库下载新分支与数据
git fetch
该命令执行完后,远程仓库的更新到了本地仓库,但是还没有合并到本地的当前分支下,需要执行 git merge 远程分支到你所在的分支,才能在当前工作目录查看到更新内容。
git merge
2.git pull命令
git pull的命令格式如下:
git pull <远程主机名> <远程分支名>:<本地分支名>
这里的'远程主机名'即是git remote add指定的或者git clone默认指定别名(一般用origin),如果不指定本地分支名,则默认将远程分支与本地当前分支合并。
推送到远程仓库
推送你的新分支与数据到某个远端仓库命令:
git push <远程主机名> <本地分支名>:<远程分支名>
如果本地分支名与远程分支名相同,则可以省略冒号:
git push <远程主机名> <本地分支名>
如果本地版本与远程版本有差异,但又要强制推送可以使用 --force 参数:
git push --force origin master
删除远程仓库
删除远程仓库你可以使用命令:
git remote rm [alias]
需要注意的是git remote rm [alias]删除的只是本地别名与远程仓库的对应关系,远程仓库(GitHub)上的文件并没有因此被删除。