Claryfing gitignore документация - PullRequest
       1

Claryfing gitignore документация

0 голосов
/ 25 апреля 2018

Я не понимаю некоторые утверждения в gitignore документации: https://git -scm.com / docs / gitignore

Части, которые я не понимаю, появляются в полужирный .Мои вопросы выделены курсивом.

  1. Если шаблон заканчивается косой чертой, он удаляется с целью следующего описания"

Что удалено? Что такое «следующее описание»?

Если шаблон не содержит косую черту /, Git обрабатывает его как шаблон оболочки и проверяет совпадение с путевым именем относительно местоположения файла .gitignore [..] В противном случае , Git рассматривает шаблон как глобус оболочки

«В противном случае» из чего?Они контрастируют "с" и "без" косой черты в шаблоне?Если да, то как эти два случая рассматриваются по-разному?

Трейлинг "/ **" соответствует всему внутри.

Это тот же результат, что и трейлинг / беззвездочки?Это похоже на то, что я вижу в маркированном пункте о конце косой черты («foo / будет соответствовать каталогу foo и путям под ним»).

Вы также находите эту документацию запутанной?Если так, что было бы лучшим способом сообщить об этом команде Git?(список рассылки или трекер проблем?).

Ответы [ 2 ]

0 голосов
/ 31 марта 2019

Если шаблон заканчивается косой чертой, он удаляется с целью следующего описания"

Что удалено? Что такое" в следующем описании«?

Полагаю, это означает, что конечные слэши исключаются, когда упоминаются слэши. Я думаю, что это действительно влияет только на следующий абзац.

Еслишаблон не содержит косую черту /, Git обрабатывает его как шаблон глобуса оболочки и проверяет совпадение с путевым именем относительно расположения файла .gitignore [..] В противном случае , Git обрабатывает шаблон какглобус оболочки

«В противном случае» от чего? Они контрастируют «с» и «без» косой черты в шаблоне? Если так, как эти два случая трактуются по-разному?

Таким образом, с учетом вышеприведенного объяснения первый абзац означает следующее:

Если шаблон не содержит косой черты '/', кроме конечной косой черты, то шаблон будет совпадать во всехкаталоги.

Другими словами, foo/ будет соответствовать /bar/foo/, а foo будет соответствовать /bar/foo

, а «Иная часть» означает:

Если шаблон содержит косую черту '/', отличную от косой черты, он всегда считается от корня.

Другими словами, foo/bar будет соответствовать /foo/bar, но не /bar/foo/bar.

Трейлинг "/ **" соответствует всему внутри.

Это тот же результат, что трейлинг / без звездочек?Это похоже на то, что я вижу в маркированном пункте о конце косой черты («foo / будет соответствовать каталогу foo и путям под ним»).

Существует небольшая разница,foo/ будет игнорировать папку, в то время как foo/** будет игнорировать папку и ее содержимое.

Так, если это ваша файловая структура:

  .gitignore
  foo
    ├── bar.json
    └── foo.txt

, тогда следующий файл .gitignore будетотслеживать все:

foo/
!foo/

Однако

foo/**
!foo/

ничего не будет отслеживать.Поскольку сначала вы игнорируете все файлы, то вы игнорируете папку /foo, но поскольку в папке нет отслеживаемых файлов, она пуста, и пустые папки не отслеживаются git.

Вы также находите эту документацию запутанной?Если так, что было бы лучшим способом сообщить об этом команде Git?(список рассылки или средство отслеживания проблем?).

Мне нравится документация git в целом, и я также думаю, что документация .gitignore очень хорошая.Только 3 параграфа, которые вы упомянули, сбивают меня с толку (и другие ).На самом деле, на этих выходных у меня ушло несколько часов, и у меня возникли те же вопросы, что и у вас.Я создал пост в блоге после того, как понял, что вы можете оформить заказ здесь .

С ними можно связаться, см. https://git -scm.com / community

Вопросы или комментарии для сообщества Git можно отправлять в список рассылки по адресу электронной почты git@vger.kernel.org.Отчеты об ошибках для git следует отправлять в этот список рассылки.

На самом деле существует репозиторий git для веб-сайта, но содержимое из документов импортируется изСтраницы man git так что нужно было бы сделать запрос на получение доступа к самому git-репозиторию.

Я писал в список рассылки и также создавал запрос на получение .Не стесняйтесь комментировать там.

0 голосов
/ 25 апреля 2018

Если шаблон заканчивается косой чертой, он удаляется с целью следующего описания "

Что удалено?

Косая черта.

Что такое «следующее описание»?

Остальная часть справочной страницы, особенно остальная часть раздела «ФОРМАТ ШАБЛОНА».

Если шаблон не содержит косую черту /, Git обрабатывает его как шаблон оболочки-оболочки и проверяет совпадение с путевым именем относительно расположения файла .gitignore [..] В противном случае Git обрабатывает шаблон как ракушка

«Иначе» из чего?

Обратите внимание, что «В противном случае» начинается новый пункт, следовательно, он не ограничен указанным вами пунктом. Это означает «В противном случае» из всех ifs с начала раздела «ФОРМАТ ШАБЛОНА».

Трейлинг "/ **" соответствует всему внутри.

Это тот же результат, что и в конце / без звездочек?

Я так думаю.

Вы также находите эту документацию запутанной?

Вовсе нет, в практическом смысле: я никогда не игнорировал ничего, что не хотел игнорировать, и случайно не отслеживал то, что хотел игнорировать.

Если так, что было бы лучшим способом сообщить об этом команде Git? (список рассылки или трекер проблем?).

Они направляют пользователей в список рассылки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...