git push origin master和git push的区别

本文详细解析了git push命令的两种用法,包括指定远程仓库和分支以及不指定的情况。当仅关联一个远程仓库和分支时,两者无明显区别。但若有多个远程仓库和分支,未指定的git push可能会导致错误。为了避免混淆和错误,推荐使用git push origin master来明确指定目标。同时,介绍了如何查看和设置远程仓库及分支关联,以及处理git push时可能出现的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值