1、git push origin master 指定远程仓库名和分支名。

2、git push 不指定远程仓库名和分支名。

这个命令看起来好像比上面那个简单,但是却是“很模糊”的,很容易混淆!

不特定指出“远程仓库名和分支名”,一般是使用默认配置,配置文件(.git/config)相关内容为:

[branch "master"]
    remote = origin
    merge = refs/heads/master

这等于告诉git 2件事:
1,当你处于master branch, 默认的remote就是origin。

2,当你在master branch上使用 git pull 时,没有指定remote和branch,那么git就会采用默认的remote(也就是origin)来merge在master branch上所有的改变。

如果不想或者不会编辑config文件的话,可以在bush上输入如下命令行:

$ git config branch.master.remote origin
$ git config branch.master.merge refs/heads/master

这两者的区别:git push是git push origin master的一种简写形式
(1)当只关联一个远程,只有一个分支时,这两个命令没什么区别。

(2)当你关联了两个多个仓库、有多个分支时,git push可能会报错,因为它不知道要上传代码到哪里去;

而git push origin master指定仓库和分支,就不会报错。

比如关联两个仓库: github 和码云

git remote add origin github-url

git remote add gitee gitee-url

分支有两个:master ,test-branch

可能遇到的错误(注当前分支为test-branch):新分支还没有关联远程仓库的故障

$ git push
fatal: The current branch test-branch has no upstream branch.
To push the current branch and set the remote as upstream, use

git push --set-upstream origin test-branch

如果本地分支都有关联远程仓库,而且有两个远程仓库,那么如果使用git push ,默认是使用你最近使用的那个远程仓库。

建议使用 git push origin master

如果你想偷懒使用git pull,那么你就要保证你的绑定的远程仓库只有一个,并且只有一个分支。

查看远程仓库的数量(简单信息)
git remote -v
  查看某个远程仓库的具体信息,以origin为例:
git remote show origin
查看分支信息
git branch 
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐