当前位置:   article > 正文

git中报错_git config --global --add safe.directory

git config --global --add safe.directory

1、

$ git pull origin master
fatal: not a git repository (or any of the parent directories): .git

这个错误说明了没有 .git这样的一个目录,所以只需要 git init一下,就可以解决了,然后再重新建立远程连接。

2、

在 git 执行命令git push origin master时,报错error: failed to push some refs to ‘https://gitee.com/
根本原因是远程仓库和本地仓库内容不同,将远程仓库中不同的内容pull到本地,就好了。
比如,我是新建了一个远程仓库,准备把本地内容上传时,忘记把远程仓库的redme.md文件同步出错的。

解决方法:
git pull --rebase origin master
将redme.md文件同步到本地,然后再次执行git push origin master就好了

在这里插入图片描述

出错原因分析:
进行提交前,需提前拉取远程仓库的代码,拉取之后,需要重新add、commit,避免仓库的数据被修改,但是再次提交之后会出现上图的错误;

原因:
是因为你现在正在编辑的提交将要覆盖在“11ddele commited”,之前使用过git rebase执行过代码的覆盖;

解决方法:
git rebase --continue //使用该命令继续代码的提交
使用上述代码后,需要重新提交一下,解决代码冲突问题,直至没有rebase提示即正常进行:
git push -u origin master

3、

在这里插入图片描述

方案一 忽略单个目录
哪个目录里有git,就通过命令行添加哪个目录,多个目录,多次添加。

git config --global --add safe.directory D:/www/your-project
git config --global --add safe.directory D:/www/other-project
  • 1
  • 2

方案二 忽略全部文件夹
可以通过加通配符为*,忽略所有文件夹。需要注意,该处理方法一般适用于只有本人一个用户使用的电脑,确保无其它用户,否则存在安全问题。见下方详述。

git config --global --add safe.directory "*"
  • 1

相关内容
本次安全升级的名称为CVE-2022-24765,主要想防范在多用户主机上,通过创建上级目录的方式,进行git配置的篡改。

原有的git机制是,如果本级目录下没有.git目录,它会向上级目录(父级)查找.git目录,直到查找到为止。这种机制下,如果有恶意人员借助共享目录的权限,在最上级目录创建.git文件,可能导致用户误操作在非项目目录中操作git时,将会使用恶意人员部署的git配置。

所以这次git增加了限制,在逐层读取git配置时,同时检查文件所有权人,如果非本用户,则停止。如果想添加例外,则需要使用上面提到的 safe.directory。

4、

在这里插入图片描述
进入到cmd 项目目录

git remote set-url origin (你的仓库SSH地址)
在这里插入图片描述

5、

在这里插入图片描述
原因:因为码云创建的仓库有某文件,而本地没有,造成本地和远程的不同步,所以报错。

解决原因:强制上传覆盖远程文件,即可解决
git push -f origin master

6、

在这里插入图片描述

原因:
更新 Git 版本导致

解决方法:
git config --global --add safe.directory ‘*’

7、

在这里插入图片描述
原因:
本地项目的git仓库和github新建立的远程项目仓库是两个独立的仓库,没有关联。

解决方法:
在操作命令后面加–allow-unrelated-histories

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/528714
推荐阅读
相关标签
  

闽ICP备14008679号