Git错误提示之:mv(移动文件夹)后 fatal: Not a git repository : .git

问题原因:

由于找不到对应的.git文件

 

1.当本地没有.git时

当本地没有.git文件时,网上大多的资料都是在本地目录下执行

git init

 

2.移动文件后

在esp32项目中楼主把esp-idf-new的中间路径删除

也就是目录路径从~/esp/esp-idf-new/esp-idf/  ----> ~/esp/esp-idf/

此时出现错误:

fatal: Not a git repository :~/esp/esp-idf-new/esp-idf/.git/modules/components/esptool_py/esptool

 

此时git init不能解决,

解决过程如下:

当文件修改了, .git路径修改了,但是嵌套的.git库并没有修改

$ grep "esp-idf-new" -r .

./examples/build_system/cmake/import_lib/main/lib/tinyxml2/.git:gitdir: /home/lx/esp/esp-idf-new/esp-idf/.git/modules/examples/build_system/cmake/import_lib/main/lib/tinyxml2
./components/cbor/tinycbor/.git:gitdir: /home/lx/esp/esp-idf-new/esp-idf/.git/modules/components/cbor/tinycbor
./components/nghttp/nghttp2/third-party/neverbleed/.git:gitdir: /home/lx/esp/esp-idf-new/esp-idf/.git/modules/components/nghttp/nghttp2/modules/third-party/neverbleed
./components/nghttp/nghttp2/third-party/mruby/.git:gitdir: /home/lx/esp/esp-idf-new/esp-idf/.git/modules/components/nghttp/nghttp2/modules/third-party/mruby
./components/nghttp/nghttp2/.git:gitdir: /home/lx/esp/esp-idf-new/esp-idf/.git/modules/components/nghttp/nghttp2
./components/unity/unity/.git:gitdir: /home/lx/esp/esp-idf-new/esp-idf/.git/modules/components/unity/unity
./components/json/cJSON/.git:gitdir: /home/lx/esp/esp-idf-new/esp-idf/.git/modules/components/json/cJSON

于是就找了一下包含原来路径的"esp-idf-new",但是由于文件太多,不可能一个一个进去删除,于是就用了sed去自动替换

sed -i s#'esp-idf-new/'##g `grep "esp-idf-new" -rl .`

常用的sed格式为:"s/xxx/yyy/g" 将xxx替换成yyy

但是这里替换为"esp-idf-new/"中包含"/",所以采用"s#xxx#yyy#",这里将"grep "esp-duf-new" -rl ."中找到包含"esp-idf-new"的文件全部替换成空(也就等于删除了)。

 

 

结论:

当后续遇到这种问题时:

1.若没有.git时则调用git init去创建

2.如果路径问题则通过查找把错误文件找出来再进行修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值