O que eu fiz no meu diretório / home / user?

0

Eu estava planejando inicializar um repositório git em um local diferente do arquivo .git . Então eu de alguma forma deletei meu diretório /home/<user>/ , ou algo assim. Foi o que eu fiz:

$ cd /var/www/html/

$ mkdir web-test

$ cd ~/

Eu tentei apagar uma pasta lá

$ rm foo.git -r

(Foi colocar -r após o diretório um erro?)

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

(percebo que esqueci de criar uma pasta para colocar o arquivo .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

Alguém pode me dizer o que eu fiz?

    
por binaryfunt 24.09.2017 / 23:00

1 resposta

4

Seu diretório pessoal foi movido para /var/www/html/web-test/ e você pode recuperá-lo sem perda de dados.

O diretório atual (presumivelmente ~ ) foi movido para /var/www/html/web-test/ e um repositório nit git criado dentro dele (os diretórios "refs" e "objects", entre outros). Um arquivo de texto foi criado em seu lugar que o git sabe como seguir (como um symlink artificial):

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

Este é o comportamento documentado de 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.

O último parágrafo é o mais importante aqui. O padrão, se você não especificar um caminho, é que o repositório do qual você está falando está em . . Seria bom se oferecesse alguma dica de que isso aconteceria antes de disparar seu pé.

Você pode excluir o arquivo de texto ( rm ~ ) e mover o diretório de volta ( mv /var/www/html/web-test ~ ) e tudo deve ficar bem.

Você pode querer deletar os arquivos git depois - no momento você tem dois repositórios git baseados naquele diretório, que provavelmente ele não vai gostar mesmo que fosse o que você queria.

    
por 24.09.2017 / 23:15

Tags