Приближения, пренебрежения и т.п. в физике и математике. : Междисциплинарный раздел
Solaris86 в сообщении #1329305 писал(а): 1. Приближения. Я так понимаю, что приближение — это есть попытка описания какого-то явления с некоторыми допущения. Вопрос такой: как осуществляется градация приближений? Слышал фразы: «В первом приближении», «Во втором приближении» и т.п., но не понимал, что имеется в виду. В физике подразумевается, что есть какие-то эффекты, факторы, вклады, оказывающие влияние на явление. И их можно количественно оценить и отсортировать по величине. И потом, их можно включать в рассмотрение под одному, по порядку убывания их величины. В математике часто встречаются задачи, которые решаются цепочкой шагов. И можно за грубый ответ взять результат первого шага, за более точный — результат второго шага, и так далее. (А абсолютно точный ответ получается за бесконечное число шагов. Solaris86 в сообщении #1329305 писал(а): 2. Пренебрежения: В основном знак означает, что величиной можно пренебречь в сравнении с величиной Вычисления приводятся к виду функций от и от них берётся первый неисчезающий член ряда Тейлора в нуле. Чаще всего это 0-й член или 1-й член, редко 2-й член. Вот пример: Munin в сообщении #1322977 писал(а): Ваш рост (от земли до уровня глаз) 1 м 70 см. На каком расстоянии от вас находится горизонт? SNet в сообщении #1322979 писал(а):, где — радиус Земли, — мой рост (который чуть выше 1,7 м 😀 ). Munin в сообщении #1322985 писал(а): Смотрите. А каково отношение к ? По порядку величины — 1 к десяти миллионам. (Коэффициенты типа «полтора» в таких рассуждениях не учитываются.) Значит, если мы уберём слагаемое из множителя то ошибёмся только в седьмом знаке после запятой. Заметьте, ведь мы и знаем намного грубее, так что реально мы даже и учесть это слагаемое не можем! Теперь следующий шаг. А насколько у нас испортится результат расчёта по формуле? Представим её в виде — а заменяем мы её на, соответственно, Значит, нам надо оценить, насколько отличается от единицы, когда слагаемое мало́. Это вполне математический вопрос, ответ на который может быть найден через производную от в окрестности точки Мы видим, что ошибка в седьмом знаке — остаётся в седьмом же знаке после запятой. И смело машем на неё рукой: расстояние до горизонта около 5 километров, а ошибка получается в масштабе долей миллиметра! — 27. Численно в задачах физики бывает так, что пренебрегают величинами хотя чаще это величины порядка Более точные расчёты обычно делаются при конструировании конкретных технических конструкций, экспериментальных приборов и методик, и требуемая точность может доходить до и выше. Solaris86 в сообщении #1329305 писал(а): где границы применения приставки «квази-« Обычно она применяется не количественно, а по смыслу. Solaris86 в сообщении #1329305 писал(а):3) при выводе каких-либо формул в физике можно пренебрегать каким-либо слагаемым только в случае, если оно много меньше всех остальных? Всё зависит от того, какие требования по точности предъявляются к окончательному ответу. Solaris86 в сообщении #1329305 писал(а): 3. Помогите понять распространённую фразу среди математиков и физиков: «С точностью до. «До запятой» никогда не слышал. «До знаков» — означает, что в числах следует удерживать самое меньшее значимых десятичных цифр, то есть относительная погрешность должна быть Формулы нельзя упрощать, если совершаемая ошибка больше этой величины. «До постоянного множителя» — это распространённый приём упрощения расчётов, ещё его называют «с точностью до порядка». Если относительная погрешность допускается в пределах то можно выбросить из формул всякие множители типа а многие операции типа дифференцирования и интегрирования заменить грубыми оценками, например, |
Идеальный газ — определение, свойства, условия
В жизни мы встречаем вещества в газообразном состоянии, когда чувствуем запахи. Запах очень легко распространяется, потому что газ не имеет ни формы, ни объема (занимает весь предоставленный объем) и состоит из хаотично движущихся молекул, расстояние между которыми больше, чем размеры молекул.
Агрегатных состояний точно три?
На самом деле есть еще четвертое — плазма. Звучит как что-то из научной фантастики, но это просто ионизированный газ — газ, в котором, помимо нейтральных частиц, есть еще и заряженные. Ионизаторы воздуха как раз строятся на принципе перехода из газообразного вещества в плазму.
Практикующий детский психолог Екатерина Мурашова
Бесплатный курс для современных мам и пап от Екатерины Мурашовой. Запишитесь и участвуйте в розыгрыше 8 уроков
Модель идеального газа
В физике есть такое понятие, как модель. Модель — это что-то идеализированное, она нужна в случаях, когда можно пренебречь некоторыми параметрами объекта или процесса.
Идеальный газ — это модель реального газа. Молекулы идеального газа представляют собой материальные точки, которые не взаимодействуют друг с другом на расстоянии, но взаимодействуют при столкновениях друг с другом или со стенками сосуда. При работе с идеальным газом можно пренебречь потенциальной энергией молекул (но не кинетической).
Важно знать
Модель идеального газа не может описать ситуацию, когда газ сжимают так сильно, что он конденсируется — переходит в жидкое состояние.
В повседневной жизни идеальный газ, конечно, не встречается. Но реальный газ может вести себя почти как идеальный. Такое случается, если среднее расстояние между молекулами во много раз больше их размеров, то есть если газ очень разреженный.
Свойства идеального газа
Расстояние между молекулами значительно больше размеров молекул.
Молекулы газа очень малы и представляют собой упругие шары.
Силы притяжения между молекулами пренебрежимо малы.
Молекулы взаимодействуют только при соударениях.
Молекулы движутся хаотично.
-
Молекулы движутся по законам Ньютона.
Бесплатные занятия по английскому с носителем
Занимайтесь по 15 минут в день. Осваивайте английскую грамматику и лексику. Сделайте язык частью жизни.
Среднеквадратичная скорость
Потенциальной энергией молекул газа пренебречь можно, а вот кинетической — никак нельзя. Потому что кинетическая энергия — это энергия движения, а мы не можем пренебрегать скоростью движения молекул.
На графике показано распределение Максвелла — то, как молекулы распределяются по скоростям. Судя по графику, большинство молекул движутся со средним значением скорости. Хотя есть и быстрые, и медленные молекулы, просто их значительно меньше.
Но наш газ идеальный, а в идеальном газе случаются чудеса.
Средняя квадратичная скорость vср. кв. — средняя квадратичная скорость [м/с] v1, v2, vn — скорости разных молекул [м/с] N — количество молекул [—] |
Попробуйте курсы подготовки к ЕГЭ по физике с опытным преподавателем в онлайн-школе Skysmart!
Давление идеального газа
Молекулы газа беспорядочно движутся.
Например, в комнате, в которой вы сейчас находитесь, за одну секунду на каждый квадратный сантиметр молекулы воздуха наносят столько ударов, что их количество выражается двадцатитрехзначным числом.
Хотя сила удара отдельной молекулы мала, действие всех молекул на стенки сосуда приводит к значительному давлению. Представьте, что комар пытается толкать машину — она не сдвинется с места. Но если за работу возьмется пара сотен миллионов комаров, то машину получится сдвинуть.
Эксперимент
Чтобы смоделировать давление газа, возьмите песок и лист бумаги, зажатый между двумя книгами. Песчинки будут выступать в роли молекул газа, а лист — в роли сосуда, в котором этот газ находится. Когда вы начинаете сыпать песок на лист бумаги, бумага отклоняется под воздействием множества песчинок.
Зависимость давления от других величин
Зависимость давления от объема
В механике есть формула давления, которая показывает, что давление прямо пропорционально силе и обратно пропорционально площади, на которую эта сила оказывается.
Давление p = F/S F — сила [Н]S — площадь [м2] |
То есть если наши двести миллионов комаров будут толкать легковую машину, они распределятся по меньшей площади, чем если бы толкали грузовой автомобиль, — просто потому, что легковушка меньше грузовика. Из формулы давления следует, что давление на легковой автомобиль будет больше из-за его меньшей площади.
Рассмотрим аналогичный пример с двумя сосудами разной площади.
Давление в левом сосуде будет больше, чем во втором, потому что его площадь меньше. А раз меньше площадь сосуда, то меньше и его объем. Значит, давление зависит от объема следующим образом: чем больше объем, тем меньше давление, и наоборот
При этом зависимость будет не линейная, а примет вот такой вид (при условии, что температура постоянна):
Зависимость давления от объема называется законом Бойля-Мариотта. Она экспериментально проверяется с помощью такой установки:
Объем шприца увеличивают с помощью насоса, а манометр измеряет давление. Эксперимент показывает, что при увеличении объема давление действительно уменьшается.
Зависимость давления от температуры
Рассмотрим зависимость давления газа от температуры при условии неизменного объема определенной массы газа. Исследования в этой области впервые провел французский изобретатель Жак Шарль в XVIII веке.
В ходе эксперимента газ нагревали в большой колбе, соединенной с ртутным манометром в виде узкой изогнутой трубки. Незначительным увеличением объема колбы при нагревании можно пренебречь, как и столь же незначительным изменением объема при смещении ртути в узкой манометрической трубке. Таким образом, объем газа можно считать неизменным.
Подогревая воду в сосуде, окружающем колбу, ученый измерял температуру газа термометром, а давление — манометром.
Эксперимент показал, что давление газа увеличивается с увеличением температуры. Это связано с тем, что при нагревании молекулы газа движутся быстрее, из-за чего чаще ударяются о стенки сосуда.
С температурой все проще. Зависимость давления от температуры при постоянных объеме и массе будет линейной:
Эта зависимость называется законом Шарля в честь ученого, открывшего ее.
Основное уравнение МКТ
Основная задача молекулярно-кинетической теории газа заключается в том, чтобы установить соотношение между давлением газа и его микроскопическими параметрами: массой молекул, их средней скоростью и концентрацией. Это соотношение называется основным уравнением молекулярно-кинетической теории газа или кратко — основным уравнением МКТ.
В основе молекулярно-кинетической теории лежат три положения.
Все вещества образованы из мельчайших частиц — молекул, которые состоят из атомов.
Молекулы химического вещества могут быть простыми и сложными, то есть состоять из одного или нескольких атомов. Молекулы и атомы представляют собой электрически нейтральные частицы. При определенных условиях молекулы и атомы могут приобретать дополнительный электрический заряд и превращаться в положительные или отрицательные ионы.
Атомы и молекулы находятся в непрерывном хаотическом движении.
Частицы взаимодействуют друг с другом силами, которые имеют электрическую природу. Гравитационное взаимодействие между частицами пренебрежимо мало.
Мы уже выяснили, что причина давления газа на стенки — это удары молекул. Давление напрямую зависит от количества молекул — чем их больше, тем больше ударов о стенки и тем больше давление. А количество молекул в единице объема — это концентрация. Значит, давление газа зависит от концентрации.
Также давление пропорционально квадрату скорости, так как чем больше скорость молекулы, тем чаще она бьется о стенку сосуда. Расчеты показывают, что основное уравнение молекулярно-кинетической теории для идеального газа имеет следующий вид.
Основное уравнение МКТ p = nkT или p — давление газа [Па] n — концентрация [м−3] T — температура газа [К] m0 — масса одной молекулы [кг] v — средняя квадратичная скорость [м/с] |
Коэффициент 1/3 обусловлен трехмерностью пространства: во время хаотического движения молекул все три направления равноправны.
Важный нюанс: средняя квадратичная скорость сама по себе не в квадрате! Ее формула указана выше, а в основном уравнении МКТ (да и не только в нем) она возведена в квадрат. Это значит, что формулу средней квадратичной скорости нужно подставлять не вместо v2, а вместо v — и потом уже возводить эту формулу в квадрат. Это часто провоцирует путаницу.
Мы знаем, что кинетическая энергия вычисляется по следующей формуле:
Кинетическая энергия Ек = mv2/2 Ек — кинетическая энергия [Дж] m — масса тела [кг] v — скорость [м/с] |
Для молекулы газа формула примет вид:
Средняя кинетическая энергия поступательного движения молекулы Ек = m0v2/2 Ек — средняя кинетическая энергия поступательного движения молекулы [Дж] m0 — масса молекулы [кг] v — скорость молекулы [м/с] |
Из этой формулы можно выразить m0v2 и подставить в основное уравнение МКТ. Подставим и получим, что давление идеального газа пропорционально произведению концентрации молекул на среднюю кинетическую энергию поступательного движения молекулы.
Основное уравнение МКТ p — давление газа [Па] n — концентрация [м−3] E — средняя кинетическая энергия поступательного движения молекулы [Дж] |
Хранение и транспортировка газов
Если нужно перевезти значительное количество газа из одного места в другое или если газ необходимо длительно хранить, его помещают в специальные прочные металлические сосуды. Из-за того, что при уменьшении объема увеличивается давление, газ можно закачать в небольшой баллон, но он должен быть очень прочным.
Сосуды, предназначенные для транспортировки газов, выдерживают высокие давления. Поэтому с помощью специальных насосов (компрессоров) туда можно закачать значительные массы газа, которые в обычных условиях занимали бы в сотни раз больший объем.
Поскольку давление газов в баллонах даже при комнатной температуре очень велико, их ни в коем случае нельзя нагревать. Например, держать под прямыми лучами солнца или пытаться сделать в них отверстие — даже после использования.
Файл .gitignore — игнорирование файлов в Git
Git рассматривает каждый файл в вашей рабочей копии как одну из трех вещей:
- отслеживаемый — файл, который ранее был подготовлен или зафиксирован;
- untracked — файл, который не был проиндексирован или зафиксирован; или
- ignored — файл, который Git явно было приказано игнорировать.
Игнорируемые файлы обычно представляют собой артефакты сборки и файлы, сгенерированные машиной, которые могут быть получены из источника вашего репозитория или не должны быть зафиксированы иным образом. Некоторые распространенные примеры:
- Кэши зависимостей, такие как содержимое
/node_modules
или/пакеты
- Компилированный код, такой как
.o
,.pyc
и. как
/bin
,/out
или/target
файлы, созданные во время выполнения, например
или.log
,.lock
или.tmp
5 , например скрытые системные файлы. DS_StoreThumbs.db
- персональные файлы конфигурации IDE, такие как
.idea/workspace.xml
Игнорируемые файлы отслеживаются в специальном файле с именем .gitignore
, который регистрируется в корне репозитория. . Нет явной команды git ignore: вместо этого файл .
необходимо отредактировать и зафиксировать вручную, если у вас есть новые файлы, которые вы хотите игнорировать. Файлы gitignore
.gitignore
содержат шаблоны, которые сопоставляются с именами файлов в вашем репозитории, чтобы определить, следует ли их игнорировать.
- Игнорирование файлов в GIT
- GIT Игнорировать шаблоны
- Общие. игнорируемый файл
- Отладка файлов .gitignore
Шаблоны игнорирования Git
.gitignore
использует шаблоны подстановки для сопоставления с именами файлов. Вы можете создавать узоры, используя различные символы:
.
Pattern | Example matches | Explanation* |
---|---|---|
**/logs | logs/debug.log logs/monday/foo.bar build/logs /debug.log | Перед шаблоном можно поставить двойную звездочку, чтобы он соответствовал каталогам в любом месте репозитория.![]() |
**/logs/debug.log | logs/debug.log build/logs/debug.log , но не logs/build/debug.log | Вы также можете использовать двойную звездочку для сопоставления файлов на основе их имени и имени их родительского каталога. |
*.LOG | DEBUG.LOG FOO.LOG .LOG LOGS/DEVUG.LOG | |
*.log ! Важно. ЛОГ | Отладка. ЛОГ ТРЕЦА.LOG , но не .LOG , но не . Добавление восклицательного знака к шаблону отменяет его. Если файл соответствует шаблону, но и соответствуют шаблону отрицания, определенному позже в файле, он не будет проигнорирован. | |
*.log ! Важно/*. ТРЕСЯ. отрицание шаблона повторно игнорирует любые ранее отрицательные файлы. | ||
/debug.log | debug.log но не logs/debug.log | s только в корневом репозитории. |
DEBUG.LOG | DEBUG.LOG Журнал/отладка. LOG | по умолчанию, паттерны сопоставления в любом каталоре |
9007. log debugg.log , но не debug10.log | Знак вопроса соответствует ровно одному символу. | |
отладка[0-9].log | debug0.log debug1.log , но не debug10.log | Квадратные скобки также можно использовать для соответствия одному символу из указанного диапазона. |
debug[01]. | debug0.log debug1.log but not debug2.log debug01.log | Square brackets match a single character образуют указанный набор. |
DEBUG [! 01] .LOG | DEBUG2 используется для соответствия любому символу, кроме одного из указанного набора. | |
debug[a-z].log | debuga.log debugb.log но не 8 debug.log0019 | Диапазоны могут быть числовыми или буквенными. |
logs | logs logs/debug.log logs/latest/foo.bar build/logs build/logs/debug.log | If you не добавляйте косую черту, шаблон будет соответствовать как файлам, так и содержимому каталогов с таким именем.![]() |
logs/ | logs/debug.log Logs/Последние/FOO.BAR Build/Logs/FOO.BAR BUILD/LOGS/LOGS/FOO.BAR BUILD/LOGS/LOGS/DALOG.BAR BUILD/LOGS/DABUG.LOG.BAR BUILD/LOGS/DALOG.BAR | Добавление косой черты указывает на то, что шаблон является каталогом. Все содержимое любого каталога в репозитории, соответствующего этому имени, включая все его файлы и подкаталоги, будет игнорироваться |
logs/ !logs/important.log | журналы/debug.log журналы/important.log | Минуточку! Разве logs/important.log не должны быть инвертированы в примере слеваНет! Из-за причуды Git, связанной с производительностью, вы не можете отменить файл, который игнорируется из-за шаблона, соответствующего каталогу |
logs/**/debug. | logs/debug. журнал журналы/понедельник/debug.log logs/monday/pm/debug.log | Двойная звездочка соответствует нулю или более каталогам. |
logs/*day/debug.log | logs/monday/debug.log Журнал/вторник/Debug.Log , но не . | Подстановочные знаки также можно использовать в именах каталогов. |
журналы/debug.log | журналы/debug.log , но не debug.log build/logs/debug.log | Шаблоны, определяющие файл в определенном каталоге, относятся к корню репозитория. (Вы можете добавить косую черту, если хотите, но это не делает ничего особенного.) |
** эти объяснения предполагают, что ваш файл .gitignore находится в каталоге верхнего уровня вашего репозитория, как это принято.
Если в вашем репозитории несколько файлов .gitignore, просто мысленно замените «корень репозитория» на «каталог, содержащий файл .gitignore» (и рассмотрите возможность их объединения для спокойствия вашей команды).*
В дополнение к этим символам вы можете использовать # для включения комментариев в файл
.gitignore
:
# игнорировать все журналы
*.log
Вы можете использовать \ для экранирования символов шаблона
.gitignore
, если у вас есть файлы или каталоги, содержащие их:
# игнорировать файл с буквальным именем foo[01].txt
foo\[01\].txt
Общие файлы .gitignore в вашем репозитории
Правила игнорирования Git обычно определяются в файле
.gitignore
в корне вашего репозитория. Однако вы можете определить несколько файлов .gitignore
в разных каталогах вашего репозитория. Каждый шаблон в конкретном файле .gitignore
проверяется относительно каталога, содержащего этот файл. Однако соглашение и самый простой подход — определить один файл
.gitignore
в корневом каталоге. Когда ваш файл .gitignore
зарегистрирован, он версионируется, как и любой другой файл в вашем репозитории, и предоставляется вашим товарищам по команде при отправке. Обычно вы должны включать шаблоны только в .gitignore
, который будет полезен другим пользователям репозитория.
Персональные правила игнорирования Git
Вы также можете определить личные шаблоны игнорирования для конкретного репозитория в специальном файле по адресу
.git/info/exclude
. Они не имеют версий и не распространяются вместе с вашим репозиторием, так что это подходящее место для включения шаблонов, которые, скорее всего, принесут вам только пользу. Например, если у вас есть пользовательская настройка ведения журнала или специальные инструменты разработки, которые создают файлы в рабочем каталоге вашего репозитория, вы можете добавить их в .
, чтобы предотвратить их случайную фиксацию в вашем репозитории. git/info/exclude
Глобальные правила игнорирования Git
Кроме того, вы можете определить глобальные шаблоны игнорирования Git для всех репозиториев в вашей локальной системе, установив свойство Git
core.excludesFile
. Вам придется создать этот файл самостоятельно. Если вы не знаете, куда поместить ваш глобальный файл .gitignore
, ваш домашний каталог — неплохой выбор (и его легко найти позже). После того, как вы создали файл, вам нужно настроить его местоположение с помощью git config
:
$ touch ~/.gitignore
$ git config --global core.excludesFile ~/.gitignore
Вы должны быть осторожны, какие шаблоны вы выбираете для глобального игнорирования, так как разные типы файлов имеют значение для разных проектов. . Специальные файлы операционной системы (например,
.DS_Store
и thumbs.db
) или временные файлы, созданные некоторыми инструментами разработчика, являются типичными кандидатами на глобальное игнорирование.
Игнорирование ранее зафиксированного файла
Если вы хотите игнорировать файл, который вы зафиксировали в прошлом, вам нужно удалить файл из своего репозитория, а затем добавить для него правило
.gitignore
. Использование параметра --cached
с git rm
означает, что файл будет удален из вашего репозитория, но останется в вашем рабочем каталоге как игнорируемый файл.
$echo debug.log >> .gitignore
$ git rm --cached debug.log
rm 'debug.log'
$ git commit -m "Начать игнорировать debug.log"
Параметр
--cached
можно опустить, если вы хотите удалить файл как из репозитория, так и из вашей локальной файловой системы.
Фиксация игнорируемого файла
Можно принудительно отправить игнорируемый файл в репозиторий с помощью параметра
-f
(или --force
) с git add
:
$ cat .gitignore
*.log
$ git add -f debug.
log
$ git commit -m "Принудительно добавить debug.log"
Это можно сделать, если у вас определен общий шаблон (например,
*.log
), но вы хотите зафиксировать конкретный файл. Однако лучшим решением является определение исключения из общего правила:
$echo !debug.log >> .gitignore
$ cat .gitignore
*.log
!debug.log
$ git add debug.log
$ git commit -m "Добавление debug.log"
Этот подход более очевиден и менее запутан для ваших товарищей по команде.
Сохранение игнорируемого файла
git stash
— это мощная функция Git для временного откладывания и отмены локальных изменений, что позволяет повторно применить их позже. Как и следовало ожидать, по умолчанию git stash
игнорирует игнорируемые файлы и сохраняет изменения только в файлах, отслеживаемых Git. Однако вы можете вызвать git stash с параметром --all, чтобы также спрятать изменения в игнорируемых и неотслеживаемых файлах.
Отладка файлов .gitignore
Если у вас сложный
.gitignore
шаблонов или шаблонов, распределенных по нескольким файлам .gitignore
, может быть сложно отследить, почему тот или иной файл игнорируется. Вы можете использовать команду git check-ignore
с параметром -v
(или --verbose
), чтобы определить, какой шаблон вызывает игнорирование определенного файла:
$ git check-ignore -v отладка. log
.gitignore:3:*.log debug.log
Вывод показывает:
<файл, содержащий шаблон> : <номер строки шаблона> : <шаблон> <имя файла>
Вы можете передать несколько имен файлов в
git check-ignore
, если хотите, и сами имена даже не должны соответствовать файлам, существующим в вашем репозитории.
How to Use a .gitignore File
Adam Garrett-Harris
Adam Garrett-Harris
Aug 23, 2019
6 Min read
795,853 Views
Aug 23, 2019
6 Min read
795 853 Просмотров
Веб-разработка
Введение
Введение
Когда вы делаете коммиты в репозиторий git, вы выбираете, какие файлы для подготовки и фиксации, используя
git add FILENAME
, а затем git commit
. Но что, если есть файлы, которые вы никогда не захотите коммитить? Их слишком легко случайно зафиксировать (особенно если вы используете
git add .
для размещения всех файлов в текущем каталоге). Вот где пригодится файл .gitignore
. Он сообщает Git, что он должен игнорировать определенные файлы и не отслеживать их.
Какие файлы следует игнорировать?
Файлы журналов
Файлы с клавишами API/секретами, учетными данными или конфиденциальной информацией
Бесполезные системные файлы, такие как
.DS_STORE
на Macos, такие как
DIST
,- . из менеджера пакетов
- И могут быть другие причины (возможно, вы делаете маленькие
файлы todo.md
)
977
Вы можете получить представление о том, какие файлы следует игнорировать на gitignore.
io, выбрав свою операционную систему, текстовый редактор или IDE, языки и фреймворки.
Как работает .gitignore
Вот как это работает. Файл
.gitignore
представляет собой обычный текстовый файл, в котором каждая строка содержит шаблон для файлов/каталогов, которые следует игнорировать. Как правило, это помещается в корневую папку репозитория, что я и рекомендую. Однако вы можете поместить его в любую папку в репозитории, а также у вас может быть несколько файлов .gitignore
. Шаблоны в файлах относятся к расположению этого файла .gitignore
.
Буквенные имена файлов
Самый простой шаблон — буквальное имя файла, например:
1.DS_Store
При этом будут игнорироваться любые файлы с именем
.DS_Store
, который является обычным файлом в macOS.
Каталоги
Вы можете игнорировать целые каталоги, просто включив их пути и добавив
/
в конце:
1node_modules/
2logs/
Если вы оставите косую черту в конце, она будет соответствовать как файлам, так и каталогам с таким именем.
Подстановочный знак
*
соответствует 0 или более символам (кроме /
). Так, например, *.log
соответствует любому файлу, заканчивающемуся расширением .log
.
Другим примером является
*~
, который соответствует любому файлу, оканчивающемуся на ~
, например index.html~
Вы также можете использовать
?
, который соответствует любому одному символу, кроме /
.
Отрицание
Можно использовать префикс
!
, чтобы отменить файл, который будет проигнорирован.
1*.лог
2!example.log
В этом примере
example.log
не игнорируется, хотя все остальные файлы, заканчивающиеся на .
, игнорируются. log
Но имейте в виду, что вы не можете отменить файл внутри игнорируемого каталога:
1logs/
2!logs/example.log
Из-за соображений производительности git по-прежнему будет игнорировать здесь
logs/example.log
, поскольку игнорируется весь каталог logs
.
Двойная звездочка
**
может использоваться для соответствия любому количеству каталогов.
**/logs
соответствует всем файлам или каталогам с именем logs (аналогично шаблонуlogs
)**/logs/*.log
соответствует всем файлам, заканчивающимся на.log
в каталоге журналовlogs/**/*.log
соответствует всем файлам, оканчивающимся на.log
в каталоге logs и любом из его подкаталогов
**
также может использоваться для сопоставления всех файлов внутри каталога, например, logs/**
соответствует всем файлам внутри журналов.
Комментарии
Любые строки, начинающиеся с
#
, являются комментариями:
1# Файлы macOS
2.DS_Store
Персональные правила .gitignore
Поскольку файл
.gitignore
проверяется в репозитории, есть несколько вариантов, если вы хотите игнорировать некоторые файлы, не добавляя их в .gitignore
правила для репозитория. Например, у вас могут быть специальные файлы, с которыми вы работаете над определенным проектом, или вы можете использовать другой редактор, чем ваши товарищи по команде, и всегда хотите игнорировать такие типы файлов.
Правила локального репозитория .gitignore
Если есть файлы, которые вы хотите игнорировать только для этого репозитория, вы можете поместить их в
.git/info/exclude
.
Глобальные правила .
gitignore Если есть файлы, которые вы хотите игнорировать во всех репозиториях на вашем компьютере, вы можете поместить их в глобальные .gitignore
файл. Во-первых, вы должны добавить параметр в Git с помощью этой команды:
1git config --global core.excludesFile ~/.gitignore
Затем вы можете добавить любые глобальные правила в ~/.gitignore
.
Что делать, если он уже зарегистрирован?
Git не будет игнорировать файл, если вы уже зафиксировали его. Сначала вам придется отменить отслеживание файла, после чего он начнет его игнорировать. Вы можете отменить отслеживание файла с помощью этой команды:
1git rm --cached FILENAME
Отладка
Если у вас возникли проблемы, вы можете узнать, почему определенные файлы игнорируются, с помощью команды git check-ignore
с параметром verbose.
1git check-ignore -v example.