Git:解决Your branch is ahead of ‘origin/master‘ by N commits问题

本文详细介绍了Git的代码推送操作,包括如何将本地改动推送到远程仓库的master分支,以及如何通过`git push`的不同参数实现不同场景的推送。同时,也讲解了如何使用`git reset --hard origin/master`来撤销本地改动,恢复到远程仓库的最新版本。这些内容对于理解和掌握Git的基本工作流程至关重要。

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

1 如果你想要保留本地当前改动:

git push -u origin master
  • 将自己修改的代码推送到远程仓库的master分支
  • origin/master : 一个叫 origin 的远程库的 master 分支
  • HEAD指向当前工作的branch,master不一定指向当前工作的branch
  • git push的一般形式为 git push <远程主机名> <本地分支名> <远程分支名>
    • git push origin 本地分支A : 远程分支B , push 本地分支A到远程库origin的分支B
    • git push origin master ,远程分支被省略,这表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建
      • origin指定了你要push到哪个remote
      • master其实是一个“refspec”,正常的“refspec”的形式为”本地分支A : 远程分支B”,冒号前表示local branch的名字,冒号后表示remote repository下 branch的名字。注意,如果你省略了,git就认为你想push到remote repository下和local branch相同名字的branch。
    • git push origin :mybranch,省略本地分支名,这表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支,等同于 git push origin --delete master
    • git push origin,如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支
    • git push,如果当前分支与单个主机的一个远程分支存在追踪关系,那么主机名都可以省略,形如 git push,可以使用git branch -r ,查看远程的分支名
  • git push origin master:master (在local repository中找到名字为master的branch,使用它去更新remote repository下名字为master的branch,如果remote repository下不存在名字是master的branch,那么新建一个)
  • git push origin master (省略了,等价于“git push origin master:master”)
  • git push origin master:refs/for/mybranch (在local repository中找到名字为master的branch,用他去更新remote repository下面名字为mybranch的branch)
  • git push origin HEAD:refs/for/mybranch (HEAD指向当前工作的branch,master不一定指向当前工作的branch,所以我觉得用HEAD还比master好些)

2 如果不要当前的改动,请重置到库的最新版本:

git reset --hard origin/master

在这里插入图片描述

https://blog.csdn.net/qq285744011/article/details/103544344
https://www.huaweicloud.com/articles/4cf4db284ffdfb80a2af56aea3898cf0.html
https://www.cnblogs.com/qianqiannian/p/6008140.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

还能坚持

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值