代码之家  ›  专栏  ›  技术社区  ›  Thomas S.

Git参考目录<repo>/。吉特/参考文献

  •  2
  • Thomas S.  · 技术社区  · 8 年前

    Windows Git上的REF存在问题,只是在以下情况下有所不同:

    $ git branch foo
    $ git branch FOO
    fatal: A branch named 'FOO' already exists.
    
    $ git branch dir/foo
    $ git branch DIR/bar
    $ git branch --list
    * develop
      foo
      dir/bar
      dir/foo
    

    这可以通过Git使用文件系统将引用存储为文件来解释 foo 和 bar 在目录里 <repository>/.git/refs/heads/dir .

    $ git branch --delete dir/bar
    $ git branch --delete dir/foo
    $ git branch --list
    * develop
      foo
    

    较旧的Git版本似乎在中留下了一些空目录 <repository>/.git/refs 新的Git版本将其删除。

    删除中的空目录安全吗 <存储库>/。吉特/参考文献 手动?

    1 回复  |  直到 8 年前
        1
  •  2
  •   torek    8 年前

    删除中的空目录安全吗 <repository>/.git/refs

    对 如果 没有别的东西在运行。Git将在需要时重新创建它们。

    (如果Git命令正在运行,它可能会确定该目录存在且不需要创建,然后删除该目录,然后Git命令会尝试使用刚刚删除的目录中的文件。)

    注意如果你跑步 git pack-refs --all ,现有的引用将合并到一个包含压缩引用的文件中。这将允许您创建只在大小写上有所不同的新引用,但不要这样做,因为当Git转到 使现代化 在参考资料中,它会在文件系统中的箱子折叠问题上绊倒。

    (解决方法是Git停止使用文件系统中的文件来保存参考值。我相信这有一天会发生,我只是不知道什么时候。)

    推荐文章