[Git] 本地仓库连接远程仓库后首次推送常用手法

学习心得 做棵大树 4年前 (2020-04-20) 1555次浏览 0个评论
文章目录[隐藏]

Git是目前使用场景与用户群体最为广泛的版本管理工具,我们在日常工作中也经常使用到。附:Git命令图片

[Git] 本地仓库连接远程仓库后首次推送常用手法

这里简单记录一下当我们第一次将本地仓库同远程仓库连接之后,首次推送产生的问题以及常用的解决命令。

直接推送会产生如下错误信息

E:\重要文档\***>git push origin master
To https://gitee.com/BEATREEHERO/***.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://gitee.com/BEATREEHERO/***.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

该请求被拒绝是因为远程存在更新的内容而你本地并未存在远程仓库存在的内容,所以会被拒绝。

针对该问题,有一下几种解决方法。

强制推送

强行让本地分支覆盖远程分支,这个方式比较暴力,个人不建议使用,因为可能会覆盖掉某些重要的更新。而且,一般 -f 这种的一定要小心使用。

git push -f

拉取合并分支

将远程不同的更新拉取到本地,并合并分支,再推送

git pull * *

或者

git fetch **
git merge **

最后再 push

这里可能会出现一个错误 fatal: refusing to merge unrelated histories

对于该错误,可以采用如下命令强行合并分支

git pull origin branchname --allow-unrelated-histories

做棵大树 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明[Git] 本地仓库连接远程仓库后首次推送常用手法
喜欢 (0)
[欢迎投币]
分享 (0)
关于作者:
一个整天无所事事的,有时候忽然热血的孩子
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址