tipos - ¿Qué sucede cuando ejecutas `git add.git` en un repositorio Git?
qué tipos de etiquetas existen en git (2)
Si bien parecía no hacer nada, no dio ningún mensaje de advertencia o error. ¿Algunas ideas?
Comentario de la fuente de Git:
/*
* Read a directory tree. We currently ignore anything but
* directories, regular files and symlinks. That''s because git
* doesn''t handle them at all yet. Maybe that will change some
* day.
*
* Also, we ignore the name ".git" (even if it is not a directory).
* That likely will not change.
*/
Experimente para ver qué ocurre si creo un archivo .git
e intento agregarlo: (en Windows no puedo crear un archivo .git
cuando ya hay una carpeta .git
. También podría haber creado un .git
en otro lugar en un subdirectorio , pero quería probar --git-dir
y --work-tree
que no he usado antes. Después de todo, estoy experimentando. Esto también me permite mostrar que puedo agregar la carpeta de metadatos de git como se ve a continuación.
git --git-dir="c:/test" init
touch blah
git --git-dir="c:/test" --work-tree="." add .
git --git-dir="c:/test" --work-tree="." status ( shows blah added)
touch .git
git --git-dir="c:/test" --work-tree="." add .git ( no output as usual)
git --git-dir="c:/test" --work-tree="." status ( only blah shown)
Así que sí, .git
- ya sea directorio o archivo, es ignorado por git.
Y si hago algo como el siguiente:
git --git-dir="c:/test" --work-tree="c:/test" add c:/test
Todos los metarchivos se añaden.
Así que, de nuevo, solo se ignora .git
no la carpeta de metadatos de git (que establece a través de --git-dir
) por lo que puedo ver.
Respuesta corta: Nada.
Respuesta larga:
laptop:Projects ctcherry$ mkdir test
laptop:Projects ctcherry$ cd test
laptop:test ctcherry$ git init .
Initialized empty Git repository in /Users/ctcherry/Projects/test/.git/
laptop:test ctcherry$ git add .git
laptop:test ctcherry$ git status
# On branch master
#
# Initial commit
#
nothing to commit (create/copy files and use "git add" to track)
laptop:test ctcherry$