首次创建React项目后对接Gitlab遇到Git推送冲突问题如何处理
问题原因
create-react-app初始化项目时已经自动完成了本地Git的初始提交,所有生成的文件都已经被纳入版本管理,所以执行git status看不到未提交的变更,无需额外执行add和commit操作。- 你在GitLab创建项目时勾选了自动生成README、LICENSE或.gitignore等文件,导致远程仓库存在独立于本地的提交历史,两者没有共同的祖先节点,因此直接拉取会报
fatal: refusing to merge unrelated histories错误。
解决方案
根据你的需求选择其中一种即可:
方案1:保留远程仓库的默认文件(如自动生成的README)
执行以下命令允许合并不相关历史:
git pull origin master --allow-unrelated-histories
如果出现文件冲突,手动解决冲突后执行git commit提交合并结果,再执行推送命令:
git push origin master
方案2:直接用本地项目内容覆盖远程(适合全新项目,无需保留远程生成的默认文件)
直接执行强制推送命令即可:
git push -f origin master
操作完成后本地和远程仓库就完成了绑定,后续修改代码后正常执行git add、git commit、git push即可同步。
内容的提问来源于stack exchange,提问作者Martin AJ
相关产品推荐
相关产品推荐

