我对 /home/user 目录做了什么?

我对 /home/user 目录做了什么?

我计划在.git文件的不同位置初始化一个裸 git 存储库。然后我以某种方式删除了我的/home/<user>/目录或其他东西。这就是我所做的:

$ cd /var/www/html/

$ mkdir web-test

$ cd ~/

我尝试删除其中的文件夹

$ rm foo.git -r

(放在-r目录后面是错误的吗?)

$ git init --separate-git-dir /var/www/html/web-test/ --bare

(我意识到我忘记创建一个文件夹来放入文件.git

$ ls -a
.     .bash_history  .bash_profile  branches  description   HEAD     info
..    .kshrc         refs           .viminfo  .bash_logout  .bashrc  config
.git  hooks          .ipython       objects   .ssh

$ ls ~/ -a
ls: cannot access /home/<user>/: Not a directory

$ echo $PWD
/home/<user>

$ ls /var/www/html/web-test/ -a
.     .bash_history  .bash_profile  branches  description   HEAD     info
..    .kshrc         refs           .viminfo  .bash_logout  .bashrc  config
.git  hooks          .ipython       objects   .ssh

$ file ~
/home/<user>: ASCII text

有人能告诉我我做了什么吗?

答案1

您的主目录已移至/var/www/html/web-test/,您可以从那里恢复它而不会丢失数据。


当前目录(大概~)已被移动到/var/www/html/web-test/并在其中创建了一个裸git存储库(“refs”和“objects”目录等)。已在 git 知道如何遵循的位置创建了一个文本文件(如人工符号链接):

gitdir: /var/www/html/web-test/

这是记录的行为git init --separate-git-dir

   --separate-git-dir=<git dir>
       Instead of initializing the repository as a directory to either
       $GIT_DIR or ./.git/, create a text file there containing the path
       to the actual repository. This file acts as filesystem-agnostic Git
       symbolic link to the repository.

       If this is reinitialization, the repository will be moved to the
       specified path.

最后一段是这里最重要的一段。如果您不指定路径,则默认情况下您正在讨论的存储库位于..如果它能在你的脚被踢掉之前提供一些提示,那就太好了。

您可以删除文本文件 ( rm ~) 并将目录移回 ( mv /var/www/html/web-test ~) ,一切都会好起来的。

之后您可能想删除 git 文件 - 目前您在该目录中有两个 git 存储库,即使这是您想要的, git 可能也不会喜欢。

相关内容