玩转Git(四)错误记录

目录

一、日常情况处理

1.1 无法 push 代码

1.2 git pull:Your local changes to the following files would be overwritten by xxx


一、日常情况处理

1.1 无法 push 代码

1.1.1 现象

failed to push some ref to xxxxx

1.1.2 原因

由于当前本地版本不是远程仓库上的最新版本,故需要先拉取代码到本地进行合并后才能提交

1.1.3 解决方式

可以通过 pull 命令直接拉取远端代码,但可能导致冲突。

# 直接拉取远端分支代码
git pull [xxx 远端仓库标识] [xxx 远端仓库分支]
如:git pull origin master

但当不确定时,这种方式可能引起冲突,我们可以先通过 fetch 命令获取远端代码,并与本地代码进行对比,而后决定是否要合并代码到本地。

# 获取远端代码(不会影响本地代码)
git fetch origin [xxx 远端分支名称/不填则是获取所有]
如: git fetch origin master 获取远端代码

# 对比分支
git diff [xxx 本地分支名] [xxx 远端分支名]
如: git diff master origin/master

# 若可以合并,则合并远端代码
git merge [xxx 远端分支名]
如: git merge origin/master

 

1.2 git pull:Your local changes to the following files would be overwritten by xxx

1.2.1 现象

error: Your local changes to the following files would be overwritten by merge:
        aa.txt
Please commit your changes or stash them before you merge.

1.2.2 原因

由于本地存在未提交的代码,拉取远端代码会将本地的修改给覆盖掉

1.2.3 解决方式

方式一:暂存代码,获取了修改后释放

# 暂存本地代码
git stash

# 拉取分支
git pull origin [xxx 远端分支]
如: git pull origin master

# 释放暂存
git stash pop

 有本地代码未提交,又要拉取代码到本地分支

 

 本地未提交的代码为:

 

 暂存本地代码

 

 暂存后发现没有未提交的内容了

 

 拉取代码

 

 释放存储区内容,若存储区内容与拉下来的代码存在冲突,别慌,处理冲突即可。如何处理冲突请看 2.7 冲突处理

 

 

 

方式二、放弃本次修改,回退到最近的本地代码版本后拉取

# 回退到最近的一个版本
git reset --hard

# 重新拉取代码
git pull origin master

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值