git部署自动同步站点常见问题及处理方法
说明
本人自己搭建了git服务器并设置了代码提交后自动同步至站点目录,在使用的过程中出现了一些问题,总结了一下,方便大家参考,如有问题,请大家联系我或在评论中指正。
问题一
- 问题描述:
代码提交(git add .)时,出现: warning:LF will be replaced by CRLF in xxxxxxxxx(如下图) - 问题原因:
平台不同,导致行结束符的差异引起的格式化问题
想进一步了解,可参考博客:git core.autocrlf配置说明 - 解决方法:
# git config core.autocrlf false
问题二
- 问题描述:
代码提交后,自动同步到站点的时候,出现如图所示权限错误: - 问题原因:
同步至站点目录的权限不够,导致无法写文件。 - 解决方法:
修改站点目录权限以及所属用户、用户组,保持与git仓库所属用户和用户组一致。
问题三
- 问题描述:
代码push后,自动同步出现如下问题: - 问题原因:
仓库权限和站点目录的所属用户以及权限问题 - 解决方法:
同问题二
问题四
- 问题描述
前提已经设置全局变量的情况下,
代码提交后,自动同步出现不能识别站点目录的用户,导致同步失败,如下图: - 问题原因
站点目录中项目与git仓库中项目存在有代码冲突。 - 解决方法
1、如果未设置全局变量 user.name或者user.email,请先设置全局变量:
# git config --global user.name=“name”
# git config --global user.email=“email”
然后赋予相关权限即可
2、已设置全局变量并有相关权限,则必然是因为冲突引起
请仔细检查冲突,并解决冲突文件即可
# git am 或者 git apply 检查
总结:
其实出现的大多数问题,都是由于配置问题或者权限问题导致的,如果出现问题,可以先检查权限相关问题
大家在实践中遇到问题,欢迎在评论中分享讨论,后面我会搜集git 的使用过程中一些常见问题,不定时更新!!!