我一个人本地 phpstorm 开发,用 ide 自带 ssh git 上传,有时用终端上传,但有时再服务器 git pull origin master 的时候,会冲突,这是为什么呢? 以前用 git 没发生过,就这个项目老是碰到这问题。
我一个人本地 phpstorm 开发,用 ide 自带 ssh git 上传,有时用终端上传,但有时再服务器 git pull origin master 的时候,会冲突,这是为什么呢? 以前用 git 没发生过,就这个项目老是碰到这问题。
1
Girlphobia Nov 24, 2019 via Android 思路:
首先排查自己的工作流程中是否有 rebase/commit --amend 之类修改提交历史的操作 其次在服务器上 git fetch 并 merge --no-ff --no-commit (具体的 pull 对应命令我记不清了)查看是哪个提交或者文件有冲突,然后理解这个修改冲突是什么造成的。 |
2
sytnishizuiai OP @Girlphobia 谢谢。
我重新描述下,服务器 git pull origin master,当前被更新的文件会出现 error 提示。我先按照你的试试,下次更新在报错,我贴下报错内容吧,突然发现自己也没仔细看。。。 |
3
jinliming2 Nov 24, 2019 via iPhone
很简单,就是本地分支与远程不一致,本地 git log 看看和远程的 commits 对比一下区别在哪,再分析产生区别的原因是什么?
|
4
Girlphobia Nov 24, 2019 via Android
@sytnishizuiai 你问题中描述的冲突我默认为 git merge 里的 CONFLICT (CONTENT or whatever) 了。如果是错误,一种我见过的情况是文件在 repo 里已经存在但并未 track (因此 working copy 是视为无更改的),同时远程分支机里有这个文件的 tracking version,任何试图处理远程分支的操作会因为无法创建文件而失败。这种情况还需要排查 .gitignore。
|
5
0xABCD Nov 24, 2019 via Android
贴报错日志吧,你的描述并不能表达清楚你的问题
|
6
sytnishizuiai OP ![[email protected]]( https://i.loli.net/2019/11/24/In5NZAuevwYiotQ.png)
我在服务器上 git status 发现这个问题,服务器从来不上传的(有时会有临时修改,但这次提交没有)。 关于报错,因为不是每次都出现,所以没法重现,等我下次再出现的时候,根据各位的方式再测试下,截图出来。谢谢。 |
7
jeffh Nov 24, 2019 via Android
gitk --all 看一下哪里分叉了
|
8
find456789 Nov 24, 2019
可以考虑用工具 比如 sourcetree 在工具上操作, 不容易出错
|
9
sytnishizuiai OP @Girlphobia
@jinliming2 @0xABCD @jeffh @find456789 感谢大家的建议,我之后一直用的 sourcetree,就没出现过这个问题了。 Ps: sourcetree 之前我一直用,后来出问题,老是弹框就不用了。 |