某些项目代码目录中.git文件的用途是什么?

时间:2015-12-01 09:49:26

标签: git

该项目有一个Lib子目录,其中有多个库的zip文件。每个文件都被提取到自己的目录中,但目录中的每个文件都有.git个文件。如果我打开它,会有一些以gitdir:开头的路径。

例如,这是项目结构

rootDir/  
  --Subdir A/
  --Subdir B/
  --lib/
      --Library.zip
      --mylibrary dir/
           --subdir x
           --subdir y
           --.git

.git文件中的路径显示gitdir: ../../.git/modules/lib/mylibrary

显然,这个文件告诉模块git文件的位置。但是,由于它我无法推送,我收到一条错误消息,例如“mylibrary目录中没有git”。如果我删除.git文件,我可以推送。

注意:我在几十个项目中使用了Git数百次,我从未遇到过这样的错误,我甚至没有在库目录中看到.git文件。

1 个答案:

答案 0 :(得分:2)

.git表示此文件夹是git工作树,并且在git版本控制下。

  • 如果.git是一个文件夹,则所有git数据都直接存储在该目录中。

  • 如果.git是一个文件,它包含其数据目录的路径(路径可以是相对的) - 这通常用于子模块中数据目录嵌套在子模块中的子模块父母的目录。

关于您的问题:.git文件中提到的路径是否存在? - 可能有人误将.git文件添加到.zip文件中。