一、git拉取时报冲突的解决方法 | 代码冲突了如何处理
问题:
error: Your local changes to the following files would be overwritten by merge:
xxx/xxx/xxx.java
Please, commit your changes or stash them before you can merge.
Aborting
方法一:git stash命令暂存。
- git stash命令,先将本地的所有修改就都被暂时存储起来,其中stash@{0}就是刚才保存的标记。后续可以通过此标记访问。
- git pull命令,拉取代码
- git stash pop stash@{0},还原暂存内容。从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理。
如果系统提示如下类似的信息:
Auto-merging c/environ.cCONFLICT (content): Merge conflict in c/environ.c
意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突。 - 解决文件中冲突的的部分
其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容。
解决完成之后,就可以正常的提交了。
5.删除stash
使用git stash drop stash@{0}命令,如果不加stash编号,默认的就是删除最新的,即编号为0的。或者git stash clear命令,清除所有stash
git命令:
git stash pop 会从最近的一个stash中读取内容并恢复。
git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。
git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中文章来源:https://www.toymoban.com/news/detail-505147.html
方法二:放弃本地修改,直接覆盖
git reset --hard
git pull
方法三:commit
commit后pull显示冲突 -> 手动merge解决冲突 -> 重新commit -> push
1. 先把本地的修改提交到本地仓库;
2. 拉取远程仓库的代码,使用git pull
命令;
3. 如果出现冲突,则手动解决冲突;
4. 解决完成后,使用git add
命令将文件添加到暂存区;
5. 使用git commit -m "message"
命令提交修改;
6. 最后使用git push origin master
将本地代码推送到远程仓库。
or
1、 首先使用 git status 命令查看冲突的文件,确认冲突的文件和冲突的位置。
2、打开冲突的文件,根据提示找到冲突的代码块,手动修改代码,解决冲突。
3、修改完成后,使用 git add 命令将修改后的文件添加到暂存区。
4、使用 git commit 命令提交修改,添加一些描述信息。
5、最后使用 git push 命令将本地代码推送到远程仓库。文章来源地址https://www.toymoban.com/news/detail-505147.html
到了这里,关于【git】实际应用中可能会出现的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!