git修改文件后无法push,需要先pull.并且pull后文件有冲突

和其他人一起编辑了同一个文件,其他人已经commit了,但其他人没有通知你,你也来修改这个文件,
导致你想push的时候无法push,提示你需要先pull,提示信息如下

此篇文章只针对当前只有master分支

error: Your local changes to the following files would be overwritten by merge:
        这里会列出有冲突的文件
Please commit your changes or stash them before you merge.
Aborting
Updating 555b2da..7f3abee

这里最好是这么做
1.保存本地修改

git stash save "本地修改(说明改了什么功能)"

2.拉取

git pull

3.还原本地修改并删除

git stash pop

如果不想删除本地修改

git stash apply stash@{0}

4.编辑冲突
这时候会有冲突,编辑器会报错,具体为

<<<<<<< Updated upstream
        Unit unit = getUnitIdByUid(user.getUid());
        if (unit == null) {
            storeOrder.setUnitId(0);
        } else {
            storeOrder.setUnitId(unit.getId());
        }
=======
        storeOrder.setUnitId(user.getUnitId());
>>>>>>> Stashed changes
<<<<<<< Updated upstream
        Unit unit = getUnitIdByUid(user.getUid());
        if (unit == null) {
            storeOrder.setUnitId(0);
        } else {
            storeOrder.setUnitId(unit.getId());
        }
=======

这一部份为其他人提交的

=======
        storeOrder.setUnitId(user.getUnitId());
>>>>>>> Stashed changes

这一部份为本地修改的,根据需要删除不需要的修改

5.把冲突都解决后,如果是idea编辑器,文件会显示为红色,并不是文件有错误,直接提交即可

git add 
git commit -m "xxxx"
git push
posted @ 2024-06-09 22:45  猝死的路上  阅读(49)  评论(0编辑  收藏  举报