Вопрос №725 от пользователя Михаил Соколовский в уроке «Игнорирование файлов в Git», курс «Основы Git»

Михаил Соколовский

Застрял на последних двух тестовых заданиях в данном разделе. Буду рад, если кто сможет дать ответ с небольшими пояснениями.

Задание 1. Какие из правил позволят проигнорировать директорию test, размещенную в корне проекта? При этом файлы, с названием test (вне зависимости от уровня вложенности), и вложенные директории с названием test не должны игнорироваться.

1) /test/
2) test
3) test/
4) /test/*
5) /test

Задание 2. Какие из правил позволят проигнорировать все директории 'tmp' в проекте, в независимости от уровня вложенности и без ложных срабатываний для других файлов и директорий проекта?

1) */tmp
2) **/*/tmp
3) tmp
4) tmp/
5) /tmp/
6) **/*/tmp/
5 0

Andrew Kumanyaev

А можете опубликовать свои рассуждения по этим двум вопросам? Сейчас ваше сообщение несет смысл "Решите за меня", что я воспринимаю как медвежью услугу. Согласитесь, честнее будет, если я вас поправлю, если вы не верно рассуждаете.

0

Михаил Соколовский

Согласен, так будет правильней с педагогической точки зрения :)

Задание 1.

/test/ - на мой взгляд должен проигнорировать директорию test в корневом разделе, но не тронуть одноименные файлы и вложенные директории, т.о. он удовлетворяет требованиям данного задания.

test - такая строчка проигнорирует все одноименные файлы и папки вне зависимости от уровня вложенности (не удовлетворяет условиям задачи).

test/ - проигнорирует одноименную папку и все файлы в ней в текущем каталоге (не удовлетворяет условиям задачи).

/test/* - проигнорирует все файлы в одноименной директории, расположенной в корне проекта, но не саму директорию (поэтому считаю, что не удовлетворяет условиям задачи).

/test - данная строчка проигнорирует только одноименный файл, расположенный в корне проекта (не удовлетворяет условиям задачи).

Таким образом, правильный ответ (он и единственный) - первый. Система считает иначе.

1

Михаил Соколовский

Задание 2.

*/tmp - игнорируем одноименный файл, находящийся либо в корне, либо в любой поддиректории (не подходит).

*//tmp - игнорируем одноименный файл во всем проекте не зависимо от уровня вложенности (не подходит).

tmp - такая строчка проигнорирует все одноименные файлы и папки вне зависимости от уровня вложенности (не удовлетворяет условиям задачи).

tmp/ - проигнорирует одноименную папку и все файлы в ней в текущем каталоге (не удовлетворяет условиям задачи).

/tmp/ - проигнорирует одноименную директорию в корневом разделе, но не тронет одноименные файлы и вложенные директории (не удовлетворяет требованиям данного задания).

*//tmp/ - проигнорирует все одноименные директории в проекте, в независимости от уровня вложенности и без ложных срабатываний для других файлов и директорий проекта (удовлетворяет условиям задачи).

Таким образом, снова имеем один правильный ответ, с которым система не согласна.

Буду премного благодарен за развернутый комментарий к моим умозаключениям!

1

Andrew Kumanyaev

Задание 1:

/test/ - Верно рассуждаете.

test - Верно рассуждаете.

test/ - Не верно. Данное правило позволяет игнорировать ТОЛЬКО директории, вне зависимости от уровня вложенности. /test/* - Рассуждаете верно с точки зрения поведения, но не вникли в суть задачи. Смотрите, когда вы игнорируете все файлы в директории, вы автоматически делаете директорию "пустой" для git. А git игнорирует пустые директории. Так образом, эта запись позволяет достигнуть желаемого результата.

/test - верно рассуждаете

Задание 2:

Все рассуждения верны, кроме tmp/ - вы игнорируете директорию, вне зависимости от уровня вложенности. Вы говорите, что это правило позволит проигнорировать директорию и все файлы в ней (вторая часть утверждения вас сбила). Но игнорирование директории - к этому и ведет, что все файлы в ней игнорируются. Таким образом, вы запутались в смоем умозаключении :) Этот вариант верный.

8

Михаил Соколовский

Спасибо за развернутый комментарий!

1

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
25 мая 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
25 мая 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
25 мая 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
25 мая 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
25 мая 5 месяцев