GIT的PUSH指令

### GIT的PUSH指令

```

$ git push <远程主机名> <本地分支名>:<远程分支名>

```

* `git push`命令用于将本地分支的更新,推送到远程主机。

* 如果省略远程分支名,则表示将本地分支推送到与之对应的远程分支(通常两者同名),如果该远程分支不存在,则会被创建。

 

```

$ git push origin master

```

* 上面的命令表示,将本地的`master`分支推送到`origin`主机的`master`分支,如果后者不存在,则会被创建。

 

```

$ git push origin :master

$ git push origin --delete master

```

* 上面两个命令等价,表示删除`origin`主机的`master`分支。

* 如果省略本地分支名,则表示删除制定的远程分支,因为这等同于推送一个空的本地分支到远程分支。

 

```

$ git push origin

```

* 上面的命令表示,将当前分支推送到`origin`主机的对应分支。

* 如果当前分支与远程分支之间存在追踪关系,则本地分支名和远程分支名都可以省略。

 

```

$ git push

```

* 上面的命令表示,将当前分支推送到它的对应分支。

* 如果当前分支只与一个主机存在追踪关系,则主机名可以省略。

 

```

$ git push -u origin master

```

* 上面的命令表示,使用`-u`参数指定`origin`为默认主机。

* 如果当前分支与多个主机存在追踪关系,则可以指定一个默认主机,这样在后面就可以直接使用`git push`。

 

```

$ git config --global push.default matching

$ git config --global push.defualt simple

```

* 上面的命令表示,使用`git config`修改当前`git push`的默认方式。

* 不带任何参数的`git push`,默认只推送当前分支,这叫做**simple**方式。此外,还有一种**matching**方式,推送所有存在与之对应的远程分支的本地分支。**Git 2.0**版本之前,默认采用**matching**方式,现在改为默认采用**simple**方式。如果要修改这个设置,可以使用`git config`命令。

 

```

$ git push --all origin

```

* 上面的命令表示,使用`--all`参数,将所有本地分支都推送到`origin`主机,不管是否存在与之对应的远程分支。

 

```

$ git push origin --tags

```

* 上面的命令表示,使用`--tags`参数,将所有本地`tag`都推送到`origin`主机。

* `git push`不会推送`tag`,需要使用`--tags`参数,推送本地所有`tag`,或者指定推送某一个`tag`。

posted @ 2015-10-28 11:14  邹晟亦楠  阅读(898)  评论(0编辑  收藏  举报