Aunque parecía no hacer nada, no dio advertencia ni mensaje de error. ¿Algunas ideas?¿Qué sucede cuando ejecuta `git add .git` en un repositorio de Git?
Respuesta
Comentario de Git fuente:
/*
* 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.
*/
experimento para ver qué sucedió, si se crea un archivo .git
y tratar de 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 añadir la carpeta git metadatos como se verá más adelante)
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 de directorio o archivo, es ignorado por git.
Y si hago algo, como a continuación:
git --git-dir="c:/test" --work-tree="c:/test" add c:/test
se añaden todos los archivos de Meta.
De nuevo, solo se ignora .git
, no la carpeta de metadatos git (que se establece a través de --git-dir
) hasta donde puedo ver.
¿En qué archivo/revisión en la fuente encontraste este comentario? –
No importa, lo encontré - https://github.com/git/git/blob/fe9122a35213827348c521a16ffd0cf2652c4ac5/dir.c#L1277 –
¿Qué quiere decir con "el directorio de metadatos git"? ¿No es el directorio que configura con '--git-dir' su directorio de trabajo? – HelloGoodbye
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$
- 1. submódulo git add fatal: No es un repositorio Git
- 2. Git: deshacer cambios locales; git add. + git rm?
- 3. Git: muestra más contexto cuando usas git add -i o git add -e?
- 4. svn "git add" alternative?
- 5. git add/rm (cometer)
- 6. Git "no parece ser un repositorio git"
- 7. Crear un repositorio git que contenga otro repositorio git
- 8. Leyendo un repositorio de Git, sin Git
- 9. git add. vs git commit -a
- 10. ¿Puedo descargar un repositorio git sin git?
- 11. Mejor git add -p?
- 12. git add remote branch
- 13. "No es un repositorio git"
- 14. de error fatal en "git add submódulo"
- 15. Repositorio anidado de Git
- 16. Mover un repositorio de git
- 17. Repositorio de Git dentro del repositorio de Git
- 18. Diferencia entre git remote add y git clone
- 19. Mantener repositorio git dentro de otro repositorio git
- 20. Unsync'd repositorio Git en Dropbox
- 21. ¿Cuándo debería usar git add?
- 22. git add --patch with difftool
- 23. Git: Cómo obtener una instantánea de un repositorio git
- 24. Simultáneamente git add -p y git checkout -p
- 25. Clonación repositorio Git local
- 26. Publicar un repositorio "git svn"
- 27. ¿Anonimizar un repositorio git local?
- 28. Repositorio git "Capas"
- 29. ¿Es git commit -am redundante, si hago git add before?
- 30. Retrospectivamente add --recursive a un git repo
Actualmente es una pregunta relevante; Admito que acabo de hacerlo. Lo di porque quería agregar '.gitignore' pero la finalización de tabulación se detuvo en' .git', así que por accidente lo hice. Y yo estaba (como usted) preocupado "¿Qué destruí?". – Jarl