版本库间的交互分为本地仓库推送到远程仓库和远程仓库拉取到本地仓库。
将工作区中的代码合并到本地仓库的操作叫做提交,而在版本库之间进行合并操作就不是提交了,叫做推送(push)。因为对Git来说,两个版本库之间的关系是平等的,不存在谁“提交”给谁一说。相应地,从另一个仓库中把代码合并到本地仓库的过程就叫拉取(pull)。
本地仓库推送到远程仓库(push)
本地仓库版本库里的文件最终需要推送到远程仓库,别人就可以从新拉取代码得到你开发的部分。
语法如下
git push <远程主机名> <本地分支名>:<远程分支名> //这里的:前后是必须没有空格的。
如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。
git push origin master //将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。origin为远程库的名字,这是Git默认的叫法,也可以改成别的,但没必要
如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用git push。
git push -u origin master //-u参数,表示将本地的master分支推送到origin主机,同时指定origin为默认主机,一般第一次推送master分支时使用。在以后的推送或者拉取时就可以简化命令,不必加-u参数了。
如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支。
git push origin :master //表示删除origin主机的master分支。
git push origin --delete master //等同于上句
如果当前分支与远程分支之间存在追踪关系,则本地分支和远程分支都可以省略。
git push origin //将当前分支推送到origin主机的对应分支。
如果当前分支只有一个追踪分支,那么主机名都可以省略。
git push
远程仓库拉取到本地仓库(pull)
语法
git pull <远程主机名> <远程分支名>:<本地分支名>
pull和push用法一样
git pull origin master //拉取远程origin主机的master分支,与本地当前分支合并
git pull origin master:bugFix //拉取远程origin主机的master分支,与本地bugFix分支合并
git pull origin //如果当前分支与远程分支之间存在追踪关系,则本地分支和远程分支都可以省略。本地的当前分支自动与对应的origin主机”追踪分支”(remote-tracking branch)进行合并。
git pull //如果当前分支只有一个追踪分支,连远程主机名都可以省略。当前分支自动与唯一一个追踪分支进行合并











网友评论