时间:2021-05-28
仅结合本人使用场景,方法可能不是最优的
1. 忽略本地修改,强制拉取远程到本地
主要是项目中的文档目录,看的时候可能多了些标注,现在远程文档更新,本地的版本已无用,可以强拉
git fetch --allgit reset --hard origin/devgit pull关于commit和pull的先后顺序,commit——》pull——》push 和 pull——》commit——》push的顺序,两种情况都遇到过代码冲突。解决方法如下:
2. 未commit先pull,视本地修改量选择revert或stash
// 场景
同事 有新提交
我 没有pull -> 修改了文件 -> pull -> 提示有冲突
2.1 本地修改量小
如果本地修改量小,例如只修改了一行,可以按照以下流程
-> revert(把自己的代码取消) -> 重新pull -> 在最新代码上修改 -> [pull确认最新] -> commit&push
2.2 本地修改量大,冲突较多
有两种方式处理
-> stash save(把自己的代码隐藏存起来) -> 重新pull -> stash pop(把存起来的隐藏的代码取回来 ) -> 代码文件会显示冲突 -> 右键选择edit conficts,解决后点击编辑页面的 mark as resolved-> commit&push
-> stash save(把自己的代码隐藏存起来) -> 重新pull -> stash pop(把存起来的隐藏的代码取回来 ) -> 代码文件会显示冲突 -> 右键选择resolve conflict -> 打开文件解决冲突 ->commit&push
另外,由于我是通过IDEA来操作git的,所以显示冲突时,我是在图形化界面操作的示意如下
3. 已commit未push,视本地修改量选择reset或直接merge
// 场景
同事 有新提交
我 没有pull -> 修改了文件 -> commit -> pull -> 提示有冲突
3.1 修改量小,直接回退到未提交的版本(可选择是否保存本地修改)
如果本地修改量小,例如只修改了一行,可以按照以下流程
-> reset(回退到未修改之前,选hard模式,把自己的更改取消) -> 重新pull -> 在最新代码上修改 -> [pull确认最新] -> commit&push
ps:实际上完全可以采取直接merge的方法,这里主要是根据尽量避免merge的原则,提供一种思路
3.2 修改量大,直接merge,再提交(目前常用)
-> commit后pull显示冲突 -> 手动merge解决冲突 -> 重新commit -> push
到此这篇关于git pull时冲突的几种解决方式(小结)的文章就介绍到这了,更多相关git pull冲突内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
详解git无法pull仓库refusingtomergeunrelatedhistories本文讲的是把Git在最新2.9.2,合并pull两个不同的项目,出现
大多数的git项目都会在提交或者协同的时候遇到文件冲突的问题,那么如何才能正确的解决冲突文件呢?已经检出的git项目,并且他人已经做了修改,自己未及时更新也做了
【建议】修改代码前明确分支,提交代码前先拉取代码,有冲突则解决冲突。总结到此这篇关于Git常用场景使用-分支操作的文章就介绍到这了,更多相关Git常用场景使用内
1,先从git上pull(拉)代码。我们本地进行了一些代码编辑。图上红框为新增方法2,使用git的stashChanges功能,如下图3,查看本地代码变化,可以
Git提供了几种方式可以帮你快速查看提交中哪些文件被改变。如果你每天使用Git,应该会提交不少改动。如果你每天和其他人在一个项目中使用Git,假设每个人每天的提