Ответ 1
У вас есть либо ~/.gitignore_global
, либо ~/.gitignore
в вашем домашнем каталоге, который также может содержать список этих шаблонов файлов?
Название говорит все. Я пытаюсь добавить свои пакеты NuGet в репозиторий. Все, кроме файлов .dll, обнаруживаются.
Файл gitignore не содержит ссылок на *.dll. Файлы .dll не распознаются, если они находятся где угодно во всем репозитории. info/exclude также пуст.
Я также клонировал репозиторий (файловую систему в файловую систему, а не удаленную в file-sysytem) без везения. Эта проблема также возникает на двух разных компьютерах.
Я мог бы добавлять файлы .dll вручную, но их следует отслеживать. Почему они не отслеживаются?
У вас есть либо ~/.gitignore_global
, либо ~/.gitignore
в вашем домашнем каталоге, который также может содержать список этих шаблонов файлов?
Если вы используете SourceTree и значение по умолчанию, оно будет игнорировать все DLL по умолчанию... Tools = > Options = > Git затем "Редактировать файл"... добавьте "#" перед .dll = > "#.dll"... сохранить и закрыть.
Затем для проводника Windows в папке пакетов в открывшемся терминале GitBash введите "git add.". и пусть это сработает, вернитесь в SourceTree, подождите секунду, и все эти недостающие DLL-пакеты появятся для вас, чтобы совершить и нажать.
Я мог бы добавлять файлы .dll вручную, но их следует отслеживать. Почему они не отслеживаются?
Нет, их не следует отслеживать, если вы их не добавили. Отслеживаются только файлы, которые уже добавлены и зафиксированы; что означает "отслеживаемый".
Попробуйте вручную добавить один из них через git add
, и он расскажет вам, почему он игнорирует их, и предложите вам использовать git add -f
, чтобы добавить файл в любом случае.
Вам нужно явно указать git для отслеживания любых новых файлов.
Запустите git add filename
, чтобы добавить файл в индекс git.
Запустите git commit
, чтобы зафиксировать изменения в вашем индексе.
git status
должен также отображать список невоспроизводимых файлов и каталогов.
Если вы хотите перечислить все файлы в репо, которые игнорируются gitignore, вы можете запустить:
git ls-files . --ignored --exclude-standard --others
Если вы хотите перечислить все необработанные файлы в репо:
git ls-files . --exclude-standard --others
В моем случае в файле .gitignore не было никаких DLL-ссылок, и у меня не было глобального файла. Однако в подкаталоге .git я нашел файл ms-persist.xml. Я закрыл все экземпляры Visual Studio, а затем добавил мои отсутствующие .dll вручную в этот файл. Когда я снова открыл визуальную студию, DLL файлы показывались как нужно, чтобы их проверяли. Я проверил их, и теперь я золотой...
У вас есть глобальные .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 и их соответствующих расположениях файлов.