Хранилище git, игнорирующее все .dlls

Название говорит все. Я пытаюсь добавить свои пакеты NuGet в репозиторий. Все, кроме файлов .dll, обнаруживаются.

Файл gitignore не содержит ссылок на *.dll. Файлы .dll не распознаются, если они находятся где угодно во всем репозитории. info/exclude также пуст.

Я также клонировал репозиторий (файловую систему в файловую систему, а не удаленную в file-sysytem) без везения. Эта проблема также возникает на двух разных компьютерах.

Я мог бы добавлять файлы .dll вручную, но их следует отслеживать. Почему они не отслеживаются?

Ответ 1

У вас есть либо ~/.gitignore_global, либо ~/.gitignore в вашем домашнем каталоге, который также может содержать список этих шаблонов файлов?

См. https://help.github.com/articles/ignoring-files

Ответ 2

Если вы используете SourceTree и значение по умолчанию, оно будет игнорировать все DLL по умолчанию... Tools = > Options = > Git затем "Редактировать файл"... добавьте "#" перед .dll = > "#.dll"... сохранить и закрыть.

Затем для проводника Windows в папке пакетов в открывшемся терминале GitBash введите "git add.". и пусть это сработает, вернитесь в SourceTree, подождите секунду, и все эти недостающие DLL-пакеты появятся для вас, чтобы совершить и нажать.

Ответ 3

Я мог бы добавлять файлы .dll вручную, но их следует отслеживать. Почему они не отслеживаются?

Нет, их не следует отслеживать, если вы их не добавили. Отслеживаются только файлы, которые уже добавлены и зафиксированы; что означает "отслеживаемый".

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

Ответ 4

Вам нужно явно указать git для отслеживания любых новых файлов.

  • Запустите git add filename, чтобы добавить файл в индекс git.

  • Запустите git commit, чтобы зафиксировать изменения в вашем индексе.

git status должен также отображать список невоспроизводимых файлов и каталогов.

Если вы хотите перечислить все файлы в репо, которые игнорируются gitignore, вы можете запустить:

git ls-files . --ignored --exclude-standard --others

Если вы хотите перечислить все необработанные файлы в репо:

git ls-files . --exclude-standard --others

Ответ 5

В моем случае в файле .gitignore не было никаких DLL-ссылок, и у меня не было глобального файла. Однако в подкаталоге .git я нашел файл ms-persist.xml. Я закрыл все экземпляры Visual Studio, а затем добавил мои отсутствующие .dll вручную в этот файл. Когда я снова открыл визуальную студию, DLL файлы показывались как нужно, чтобы их проверяли. Я проверил их, и теперь я золотой...

Ответ 6

У вас есть глобальные .gitignore где-то или более .gitignore файлы в подкаталогах - относительно вашего корня проекта.

В Linux Systems и MacOS глобальный git -ignore, скорее всего, находится в вашем домашнем ~/

~/.gitignore_global

В Windows это, скорее всего, в вашем User Directory. Либо ваш локальный пользователь (который вы можете узнать, введя ECHO %USERPROFILE% или whoami в командной строке.

Если его там нет, значит, вместо этого присутствует .gitconfig. Посмотрите здесь, где находится gitignore (например, папка User Documents).

Edit: Используйте git config --list --show-origin, чтобы получить подробную информацию о внесенных вкладках git и их соответствующих расположениях файлов.