git push 命令详解

2022-07-30  本文已影响0人  苍老师的眼泪

对 git push 命令一直都是处于一知半解的状态,就知道它是将本地的更改推送到远程别名里面,

直到最近通过一写练习才更加清晰了一点

git push 顾名思义就是将本地的更新推送到远程别名
它有几个常见的选项,接下来一一对它们讲解

假如我们现在只有一个远程别名(remote): origin

1. 无参数,直接 git push

git push 这种情况 git 会检查当前所在的分支有没有设置 upstream branch, 也就是该分支对应的上游分支,也就是对应的远程别名(remote)里面的分支。

2. git push -u origin 当前分支名 or git push --set-upstream origin abc

新建立的分支第一次直接 push 时会报错,是我们还没有设置当前分支对应的远程别名里面的分支,可以使用的命令 git push --set-upstream origin abc,这样就可以将本地的 abc 分支(假设本地分支叫做abc)推送到远程别名里面的 abc 分支,如果远程别名里面没有 abc 这个分支,则会自动建立一个 abc 分支并接收推送的内容;并且为当前的分支设置了 upstream branch, 以后再推送该分支就可以直接执行 git push 了(当然也只是push当前所在的本地分支,不会处理其他本地分支)。如果以后想要修改 upstream branch, 可以使用 git branch --set-upstream-to origin/abc,设置好了以后该分支也可以直接执行 git push 向远程别名的响应分支推送了,但是修改 upstream branch 有个问题,就是比如现在是 abc 分支,一般来讲肯定也是推送到远程别名里面的 abc 分支,本地分支和远程别名的分支一一对应,修改之后比如 git branch --set-upstream-to origin/efg 后,以后再 git push 时 git 就会报错:The upstream branch of your current branch does not match the name of your current branch. 就是远程的分支名和当前的分支名不匹配,并且提示如果推送到你想要的分支。

3. git push --all

直接推送所有本地分支,那些没有设置 upstream branch 的会自动创建响应的远程别名分支,然后接收推送的内容,但是没有为本地分支设置远程别名的分支

上一篇下一篇

猜你喜欢

热点阅读