本地目录消失时从git还原
好吧,这会变得很复杂: 我的本地目录消失时从git还原,git,restore,pull,Git,Restore,Pull,好吧,这会变得很复杂: 我的.git目录与源文件位于不同的目录中。实际上,您可以使用: /usr/local/bin/git --git-dir /www/git/site/ --work-tree=. commit -a (当您位于源文件目录中时。非常规,但我们就是这样做的,并且它是受支持的) 包含源文件的目录已被删除 但是.git存储库没有,因为它位于一个单独的目录中。我能看见它,我知道它在哪里 如何将最新提交的所有内容恢复到新目录中?我在一个新目录中尝试了此操作: /usr/local
.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或
应从中获取新修订的远程名称
(仅供参考,没有远程服务器,这都是本地的)创建新目录后,切换到该目录。然后,可以使用以下命令恢复整个树:
/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
谢谢你问这个问题。我从来不知道可以在不同的位置使用.git目录。我认为这可以在一些非常有趣的方面派上用场。