7

由于代码中的一些错误,我们丢失了一个完整的 GIT 控制目录。恢复文件不是问题;TimeMachine 解决了这个问题。但是,TimeMachine 显然没有备份 .git 文件夹。

有没有比从主服务器或另一台机器获取目录更好的方法来恢复/重新创建 .git 文件夹?

在此先感谢您提供任何有用的提示。

4

2 回答 2

14

您可以查看一个裸露的 .git 存储库,然后通过添加您的源代码将其扩展为一个完整的存储库。这仍将下载整个 .git 文件夹,但不会下载您的工作副本代码文件。

  1. 创建一个新文件夹并导航到它。
  2. 克隆一个裸仓库:

    git clone --bare https://path/to/project .git

  3. 将本地恢复的文件复制到 .git 文件夹周围(在与之前相同的相对位置)。

  4. 将新的 repo 标记为 non-bare:

    git config --local --bool core.bare false

  5. 最后重置索引:

    git reset HEAD -- .

于 2014-07-16T08:36:09.680 回答
3

有2个选项:

1. restore it form backup (which i assume you don't have) 
2. clone the repository again and compare the content to add the modified content.

由于 .git 只是包含内容的文件夹。

如果您没有使用 Time Machine 备份它,那么您将不得不再次克隆它。

于 2014-07-16T08:16:33.020 回答