github与远程仓库交互(push和pull)

本文介绍了在Git使用过程中常见的问题及其解决方案,包括:1.当本地仓库与远程仓库文件不一致时,如何使用`git pull --allow-unrelated-histories`拉取并合并;2.遇到更新冲突时,如何通过`git fetch --all`和`git reset --hard origin/master`来解决;3.如何使用`git checkout`和`git reset --hard SHA`恢复到特定版本。确保养成良好的Git操作习惯,避免直接在网页端创建文件,并及时拉取远程仓库更新。

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

🤓1. pull项目时

最常使用的git操作大概就是:

git add XXX
git commit  -m "XXX"
# 注意 -m参数中可以使用 #+序号,表示与对应的issue关联
git push origin master

例如:下面的就是 git commit -m "#1 update XXX"之后的效果(只要-m参数中#num和其他东西用空格隔开了就行)
在这里插入图片描述

🥪1.1. 本地比远程仓库多了文件,导致报错

  • 错误:pull项目时,报错error: failed to push some refs to 'https://github.com/XXXX.git'
  • 原因:原因是远程仓库中的文件和我们本地的仓库有差异,例如你的远程仓库有个文件Readme. md(网页端建立),但是本地仓库却没有,就可能会出现这种情况。
  • 避免:养成使用命令行的习惯,不要在网页端,例如github,新建readme.md之类的文件
  • 解决:
    git pull origin master --allow-unrelated-histories
    # 直接从远程拉取最新的内容,使git允许合并不相关的历史
    

参考:

🤠1.2. 远程仓库修改过,本地也修改过,更新冲突

  • 错误:pull项目时,提示
    error: Your local changes to the following files would be overwritten by merge:
            image_quality/image_quality.py
    Please commit your changes or stash them before you merge.
    Aborting
    Updating 061f8ce..ca63880
    
  • 原因:没有拉取最新的远程repo,就直接在旧的本地进行了更改,更新冲突
  • 避免:同上,先拉取更新,再在本地修改。。
  • 解决:
    # 1. 更新所有分支到最新
    git fetch --all
    # 2. 重置至当前origin/master状态 也可以写一个SHA hash码(恢复至某个状态)
    git reset --hard origin/master
    

参考:

👀1.3 恢复至之前的某个版本

  • 问题:由于不断在更新项目,所以中间有的错了,有的对了,需要更新会之前的一个版本
  • 解决:
    git checkout
    git reset --hard SHA
    
  • SHA是hash码:
    在这里插入图片描述

参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

吨吨不打野

解决了问题,觉得还行就给点

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

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

打赏作者

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

抵扣说明:

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

余额充值