git clone。如何通过硬链接克隆本地回购?

时间:2012-07-04 14:47:20

标签: git clone

我有一个本地git存储库。我想通过硬链接文件在本地计算机上克隆它以节省磁盘空间。我该怎么办?

1 个答案:

答案 0 :(得分:8)

通过简化,Git存储库是 3种文件

  1. 类似数据库的对象 $GIT_DIR/objects):永远不会修改这些对象,有些可以添加,有些可以删除,但是永远不会修改文件。这意味着它们在许多克隆之间可以完全相同。

  2. 特定于存储库的配置和状态 $GIT_DIR):这些文件包含特定于存储库的配置(例如$GIT_DIR/info/* )。它们还存储存储库状态,例如什么是已知分支,什么是签出分支等。它们不能在存储库之间共享,或者不符合设计

  3. 工作副本文件或来源 :这些文件大部分时间都是您的源代码,它们是从一个存储库到另一个存储库的不同。它们很灵活并且变化很大(或者因为你编写了很多代码,或者因为你经常切换分支,或者两者兼而有之)。

  4. 事实上,唯一不变的,而不是特定于存储库的文件是对象文件。如果可能的话,Git会自动将这些链接硬链接(即使没有指定-l)。

    如果您希望同一驱动器上的两个存储库具有完全相同的状态和文件,那么您绝对应该创建一个符号链接。但是你不能硬配置配置文件和工作副本文件,因为它们变化太大而且特定于存储库。