git push origin与git push -u origin master的区别

$ git push origin

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

如果当前分支只有一个追踪分支,那么主机名都可以省略。 

$ git push 如果当前分支与多个主机存在追踪关系,那么这个时候-u选项会指定一个默认主机,这样后面就可以不加任何参数使用git push。

$ git push -u origin master 上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。

 不带任何参数的git push,默认只推送当前分支,这叫做simple方式。此外,还有一种matching方式,会推送所有有对应的远程分支的本地分支。Git 2.0版本之前,默认采用matching方法,现在改为默认采用simple方式。


出处:https://www.cnblogs.com/zhouj850/p/7260558.html

git push origin master:master 可省略为git push origin master


# git remote增加远程仓库
我们可以为一个本地管理库添加多个远程仓库。用来做数据备份,或者上线仓库管理等操作。
比如,我们可以为项目 market 项目,创建多个版本的仓库。
+ develop 开发仓库
+ test 测试仓库
+ release 发布仓库
对于不同的仓库,就可以进行不同的权限控制。
+ develop 开发仓库,可以是所有的操作人员都可以有修改的权限,可以操作
+ test 测试仓库,就只能是测试人员才能够查看到的,以及对其中的内容进行修改。
+ release 发布仓库,这个仓库就只能是运维,或者一些管理者才具有权限。这个仓库本身会存在一些配置上的不同。一般人是看不到的,达到了线上数据的安全控制,避免泄露。
**当我们要进行版本发布的时候。就可以选择要将代码推送到不同的仓库。然后,针对不同的仓库,各自又能够在不同的地方做不同的事。**
```
$ git remote add develop master
$ git remote add test master
$ git remote add release master
```
这样本地代码,就会关联上3 个不同的仓库。那么当我们提交代码的时候,具体要提交到哪个远程分支呢。这个时候,我们就需要在push 的时候明确远程分支。
```
$ git push develop master
$ git push test master
$ git push release master
```
大多数情况下,我们都是在一个远程分支上进行代码提交,只是偶尔有用到提交到不同的远程仓库 。所以有一个更简单的方式提交。那就是关联远程仓库分支跟本地的分支。使用`git branch --set-upstream-to` 命令。
```
$ git branch --set-upstream-to develop master 或者 git branch -u develop master
```

这样,后续只需要简单的使用 `git push` 或者 `git pull` 命令就可以了。



出处:https://www.cnblogs.com/wuer888/p/7655856.html

http://www.cnblogs.com/springbarley/archive/2012/11/03/2752984.html


猜你喜欢

转载自blog.csdn.net/jackliu16/article/details/80952650