Git commit игнорирует изменения в определенных вложенных папках. Есть предложения по устранению проблемы?

#git #github #add

#git #github #Добавить

Вопрос:

Я использую Github уже год, но в основном использую базовую функциональность. Я все еще считаю себя новичком. У меня есть каталог Arduino, настроенный как репозиторий github. В этом каталоге, как показано ниже, находится несколько папок проекта. Это также рабочее пространство, которое само по себе имеет несколько проектов. При использовании приведенных ниже команд у меня не возникает проблем с добавлением, фиксацией и внесением изменений. Любые изменения, внесенные в файлы или папки на уровнях каталогов 1 и 2, добавляются, фиксируются и передаются эффективно. Однако до уровня каталога 3 добавляются только изменения в папке «.settings». Выделенные папки (показаны ***** ) никогда не добавляются и не загружаются в основную ветку. Любые изменения в выделенных папках игнорируются командой «git add .». Любые идеи относительно того, почему это происходит, будут оценены.

Вещи, которые я пытался определить, почему выделенные папки игнорируются:

  1. Если я перемещаю папку «Release» вверх по одному каталогу (до уровня 2), команда «git add .» собирает все изменения, а git commit / push загружает их.
  2. Я видел сообщение о файле «.gitignore», в котором, возможно, перечислены файлы или папки, которые следует игнорировать. Я не смог найти этот файл, если он существует в моем репозитории, каталоге установки Git или каталоге пользователя.

Операционная система: Windows 10 Домашняя версия Git: 2.21.0.windows.1 Терминал: Git-bash

Команды: git add .; git commit -m «первая фиксация»; git push

Репозиторий: Git_Arduino

Дерево каталогов репозитория Git_Arduino

Комментарии:

1. Привет, добро пожаловать в SO. Похоже, что ваш снимок экрана относится к терминалу (или текстовому файлу), лучше вставить текст в ваш вопрос, чем связать изображение.

2. Я думал включить текст в соответствии с сообщением, однако мне не удалось сохранить форматирование, как показано на прикрепленном изображении. Каждый раз, когда я перечислял текст в показанном формате уровня каталога, он преобразовывался в одну строку текста. Я попробую еще раз в своем следующем посте. Спасибо!

3. используйте ««» (три обратных кавычки) для запуска / завершения <pre> блока в сообщении StackOverflow. Вы также можете встроить code blocks , окружив их одной обратной кавычкой «`».

Ответ №1:

Выполнить git check-ignore -v в папке, чтобы обнаружить, что эта папка была проигнорирована, с помощью параметра игнорировать.

Комментарии:

1. Спасибо за ваш вклад. Я выполнил команду в нескольких папках, и это привело к выводу «» (пустая строка). Тем не менее, я смог решить проблему, найдя файл .gitignore в связанных папках.

Ответ №2:

.gitignore Файл может быть размещен на любом уровне иерархии :

  • в корне Git_Arduino/
  • в Git_Arduino/SloeberWorspace/
  • в Git_Arduino/SloeberWorspace/ProjectA/

Из корня вашего репозитория вы можете проверить :

 ls .gitignore
ls SloeberWorspace/.gitignore
ls SloeberWorspace/ProjectA/.gitignore
  

Вы также можете использовать стандартный инструмент, такой как find :

 # from your repo's root directory :
find . -name .gitignore
  

Комментарии:

1. Спасибо @LeGEC. Мне удалось найти .gitignore в каждой папке Git_Arduino /SloeberWorspace/ProjectX/ . Я смог отредактировать, а затем добавить / зафиксировать / отправить изменения в репозиторий. Я ценю ваш вклад!