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