git push 命用于从将本地的分支版本上传到远程并合并。
git push的配对方式默认设置:
就是本地与远程的配对
simple是默认本地只与一个进行根性
mtching是默认远程的全部被更新!
我们现在默认的是simple了!!!!!
配对:git branch --track 本地分支 远程分支 把本地分支与远程分支进行对接
$ git config --global push.default matching
# 或者
$ git config --global push.default simple
命令格式如下:
git push <远程主机名> <本地分支名>:<远程分支名> 如果本地分支名与远程分支名相同,则可以省略冒号:
git push <远程主机名> <本地分支名>
将本地的 master 分支推送到 origin 主机的 master 分支。
$ git push origin master 相等于:$ git push origin master:master
如果本地版本与远程版本有差异,但又要强制推送可以使用 --force 参数:
$ git push --force origin master
在推送的时候应该把本地也弄成最新的,fetch+merge下或者pull下就是最新的版本了,多数情况要相信远程库的正确性
删除主机的分支可以使用 --delete 参数,以下命令表示删除 origin 主机的 master 分支:
$ git push origin --delete master
git push origin :master #远程分支的删除
git push origin :master ===>>> git push origin --delete master
因为本地是空分支就相当于删除;如果远程分支不存在的话,我们会进行新建一个远程分支。
如果当前分支与远程分支之间存在追踪关系,则本地分支和远程分支都可以省略。
$ git push origin #将当前分支推送到origin主机的对应分支
如果当前分支只有一个追踪分支,那么主机名都可以省略
$ git push
如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用git push。
$ git push -u origin master
上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。
git push origin <tagname> #可以推送一个本地标签
git push origin --tags #可以推送全部未推送过的本地标签
git push origin :refs/tags/<tagname> 可以删除一个远程标签。
git push origin branch-name: 从本地推送指定分支
git push --all origin
#是将本地的全部进行上推,不存在的就新建分支,囫囵吞枣的全部推上去,远程与本地就一致了,一般用于项目初期吧,后期就风险大