git提交把别人的提交覆盖了

  1. 问题现象

多人操作同一文件同一行代码,当commit->pull之后会出现merge,merge完之后,会出现不是自己提交的文件也变蓝(出现变动,以下出现变蓝皆为此意)。如果此时revert了这些蓝色的,再commit->push,会造成把别人代码丢失

  1. 原因分析(可能)

merge完之后,不是自己改的也变蓝,可能是因为由于冲突,导致不能智能的合并代码,同一批次pull的代码对比本地git仓库全部变蓝

现象截图还原

a:提交了2个文件如下( .gitignore、pom.xml)

b:提交一个文件(.gitignore) 如下->commit

b:pull->提示merge

b:左边是b的,右边是a的,中间是最终结果(idea的三视图merge代码工具很好用,推荐)

b:当解决完冲突,点击apply确认后

会发现本地 .gitignore 变蓝,但是pom.xml 也变蓝了

b:如果感觉 pom.xml 我没改过啊,给他revert->commit->push

会把a对pom.xml的修改给吞了

解决方法

  • 一定要commit不是自己的代码

b:commit ->pull->merge->commit(把a修改的pom.xml一并commit)->push

  • 使用stash(建议用此方式)

b:stash->pull->unStash->merge->commit->push

这种方法不会出现pom变蓝

stash:intellij idea 使用 git stash 初探_内沐的博客-CSDN博客_idea stash

  1. 建议

  • 每天写代码之前pull下代码,避免出现merge

  • 少用禁用全局格式化,用局部格式化代码

  • 不要上传.iml、.idea、.vscode等编辑器配置文件

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值