【问题标题】:Restoring from git when local directory is gone当本地目录消失时从 git 恢复
【发布时间】:2015-11-21 20:14:13
【问题描述】:

好的,这会变得很复杂:

我的.git 目录与源文件位于不同的目录中。您实际上可以这样做:

/usr/local/bin/git --git-dir /www/git/site/ --work-tree=. commit -a 

(当您在源文件的目录中时。非常规,但我们就是这样做的,并且它是受支持的)。

包含源文件的目录已被删除。

.git 存储库没有,因为它位于单独的目录中。我可以看到它,我知道它在哪里。

如何将我们最新提交的所有内容恢复到新目录中?我在一个新目录中尝试了这个:

/usr/local/bin/git --git-dir /www/git/site/ --work-tree=. pull 

给出:

致命:未指定远程存储库。请指定 URL 或 应从中获取新修订的远程名称。

(仅供参考,没有远程服务器,这都是本地的)

【问题讨论】:

  • 感谢您提出这个问题。我从来不知道可以在不同的位置使用 .git 目录。我认为这可以通过一些非常有趣的方式派上用场。

标签: git restore pull


【解决方案1】:

创建新目录后,切换到该目录。然后,您可以使用以下命令恢复整个树:

/usr/local/bin/git --git-dir /www/git/site/ --work-tree=. reset --hard

如果这不起作用,请尝试将.git 添加到该位置:

/usr/local/bin/git --git-dir /www/git/site/.git/ --work-tree=. reset --hard

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-13
    • 1970-01-01
    • 2020-05-26
    相关资源
    最近更新 更多