Подтвердить что ты не робот

Что происходит при запуске `git add.git` в репозитории Git?

Пока он ничего не делал, он не выдавал предупреждения или сообщения об ошибке. Любые идеи?

4b9b3361

Ответ 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$