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`。

时间: 2024-11-05 13:41:14

GIT的PUSH指令的相关文章

git 入门操作指令

git add [commit file list] 将已经修改的代码添加索引 git commit -m [commit message] 将已经索引的代码修改提交至本地的库 git push origin [branch_name] 将分支 branch_name 的代码推送至服务器 git pull origin [branch_name] 获取分支 branch_name上的最新代码 git pull --rebase origin [branch_name] 将当前 branch 从

Git大法好——2.Git本地操作指令详解

Git大法好--2.Git本地操作指令详解 引言 上节给大家讲解了有关于Git的一些概念,Git的引入,Git的四个组成部分,Git文件的状态,以及 Git的下载安装:前面也讲过Git和SVN有个明显的差别就是,Git可以不需要网络就可以进行版本 控制,这是因为Git中每个电脑都拥有一个本地的版本库,而远程的仓库仅仅是作为我们交换修改 的一个工具!即使失去这个工具,我们也可以干活,只是交换修改不方便罢了,假如是SVN,远程 服务器挂了-所以,我们使用Git的时候大部分时间都是在进行Git的一些本

Git - warning: push.default is unset

今天心血来潮想要把获取窗体句柄的程序給开源了. 可在执行 git push 时看到下面的消息: warning: push.default is unset; its implicit value has changed in Git 2.0 from 'matching' to 'simple'. To squelch this message and maintain the traditional behavior, use: git config --global push.defaul

git修复push文件

1 环境 2 错误 3 解决 4 参考 环境 错误 TortoiseGit 客户端 push时报 git.exe push --progress "origin" master:master error: cannot spawn sh: No such file or directoryerror: cannot spawn sh: No such file or directoryCounting objects: 3, done.Delta compression using u

Git 仓库 Push到[email&#160;protected]常见错误

将在本地创建的Git仓库push到[email protected]出现的错误 常见错误: 1.error:failed to push some refs to ... 问题(Non-fast-forward)的出现原因在于:git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去.于是你有2个选择方式: 1.强推,即利用强覆盖方式用你本地的代码替代git仓库内的内容 git push -f 2. 先把git的东西fetch到你本地然后merge后再push $ git fetch

妙用git rebase --onto指令

有时候,在分支提交更改的时候,会忘记rebase,就直接提交上去,或者忘记和本地远程分支做merge,就直接rebase了别的分支.有时候真希望有一种切片的方式,让自己的分支只需要接上某一段.这个时候你可以使用git中的rebase --onto了. 假设场景    B----C           A,现在想将B-C之间的切片(注意边界的B和C,后文会讲到)放到A之上. 假设git rebase --onto A B C,这个demo.A代表的是你实际想要将切片放到哪的分支,B代表切片开始分支

git丨Push rejected: Push to origin/master was rejected

最近在使用git,push代码的过程中,遇到如下问题: 解决办法,执行git命令如下: git pull origin master --allow-unrelated-histories 出现下图信息,说明成功解决,重新push即可: 原文地址:https://www.cnblogs.com/hrone/p/8946133.html

git问题--Push rejected: Push to origin/master was rejected

解决git问题 Push rejected: Push to origin/master was rejected 意思是git拒绝合并两个不相干的东西 此时你需要在打开Git Bash,然后进入相应的目录,然后敲git命令 $ git pull origin master --allow-unrelated-histories 出现类似于这种信息就说明pull成功了: $ git pull origin master --allow-unrelated-histories From https

git之Push rejected

问题:提交git时Push rejected: Push to XXX/master was rejected 分析:这他妈什么情况?我新建个库,咋不能提交呢?之前其他项目还是可以的? 网上有帖子说是远程仓库和本地仓库的内容不一致,所以既不能提交也不能更新. 解决方案: A:网上的解决方案我试了的,不起作用 B:push的时候创建新的分支,然后将提交的分支设置为默认分支,至于之前的分支如何操作看各位的场景了. 参考资料: https://blog.csdn.net/tianguodk/artic