在 ubuntu 20.04 平台上,编译Linux 内核时,打算使用 git 进行代码的管理,工程解压完,发现无法使用 git init
初始化 git 仓库
报错信息如下:
rtt@ubuntu:~/rtt/linux$ git init
fatal: cannot copy '/usr/share/git-core/templates/info/exclude' to '/home/rtt/rtt/linux/.git/info/exclude': No such file or directory
开始以为是工程的权限问题,甚至重新安装了 git,发现依旧无法解决问题
然后使用 sudo git init
,问题依旧!
后来我在 windows 上查看代码时,忽然发现工程下已经有了 .git
目录。
因为只有已经使用了 git
管理的目录,才会有这个目录,但是这个 .git
目录的内容很少,应该这个工程之前是作为 git submodule
子仓库管理的,所以仓库的管理内容,也就是仓库本身放在了 主仓库的 .git
目录下。
所以找到了解决方法:先删除这个 .git
目录
删除 .git
目录后,再次 git init
,一切正常了
rtt@ubuntu:~/rtt/linux$ rm -rf .gitrtt@ubuntu:~/rtt/linux$ git status
fatal: not a git repository (or any of the parent directories): .gitrtt@ubuntu:~/rtt/linux$ git init
Initialized empty Git repository in /home/rtt/rtt/linux/.git/
如果遇到类似的问题,如 git init
无法执行成功,首先需要查看当前目录下,是否已经存在了 .git
目录,也就是已经使用 git
管理了
注意 git submodule
子仓库,默认仓库的内容都保存到 主仓库了,所以这个 .git
目录下没有什么信息,可以删除,重新 git init
初始化 git 仓库,进行代码的管理