Пока он ничего не делал, он не выдавал предупреждения или сообщения об ошибке. Любые идеи?
Что происходит при запуске `git add.git` в репозитории Git?
Ответ 1
Комментарий от Git источника:
/*
* Read a directory tree. We currently ignore anything but
* directories, regular files and symlinks. That 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.
*/
Эксперимент, чтобы увидеть, что произойдет, если я создам файл .git
и попытаюсь его добавить:
(в Windows я не могу создать файл .git
, когда уже есть папка .git
. Я также мог бы создать .git
в другом месте в подкаталоге, но хотел попробовать --git-dir
и --work-tree
, который я пока не экспериментировал. Это также позволяет мне показать, что я могу добавить папку метаданных Git, как показано ниже).
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)
Итак, .git
- будь то каталог или файл, игнорируется git.
И если я сделаю что-то вроде ниже:
git --git-dir="c:/test" --work-tree="c:/test" add c:/test
все метафайлы добавляются.
Так что, опять же, только .git
игнорируется не папка метаданных Git (которую вы установили через --git-dir
), насколько я могу видеть.
Ответ 2
Короткий ответ: ничего.
Длинный ответ:
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$