Как я могу остановить .gitignore от появления в списке неотслеживаемых файлов?

Как указывает @Shay, FOO необходимо определить для задания. Другой способ сделать это - использовать параметр -InitializationScript для подготовки сеанса.

Для вашего примера:

$functions = {
    function FOO { write-host "HEY" }
}

Start-Job -InitializationScript $functions -ScriptBlock {FOO}|
    Wait-Job| Receive-Job

Это может быть полезно, если вы хотите использовать одни и те же функции для разных заданий.

950
задан Mateusz Konieczny 16 October 2018 в 09:13
поделиться

11 ответов

Файл .gitignore должен находиться в вашем хранилище, поэтому его действительно следует добавить и зафиксировать in, как предполагает git status . Он должен быть частью дерева репозитория, чтобы изменения в нем могли быть объединены и т. Д.

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

Если вы действительно хотите, вы можете добавить .gitignore в файл .gitignore , если вы не хотите, чтобы он был зафиксирован. Однако в этом случае, вероятно, лучше добавить игнорирование в .git / info / exclude , специальный локальный файл checkout, который работает так же, как .gitignore, но не отображается в «git status», так как он в папке .git .

См. также https: //help.github. com / article / ignoring-files

947
ответ дан 19 December 2019 в 20:21
поделиться

Если кто-то уже добавил .gitignore к вашему репо, но вы хотите внести в него некоторые изменения и игнорировать эти изменения, сделайте следующее:

git update-index --assume-unchanged .gitignore

Источник .

42
ответ дан Leif Gruenwoldt 16 October 2018 в 09:13
поделиться

Идея состоит в том, чтобы поместить файлы, относящиеся к вашему проекту, в файл .gitignore и (как уже упоминалось) добавить его в хранилище. Например, файлы .pyc и .o , журналы, которые создает набор тестов, некоторые приборы и т. Д.

Для файлов, которые создаются вами, но не обязательно будут отображаться для каждого пользователя. (например, файлы .swp , если вы используете vim, скрытые каталоги ecplise и т. п.), вы должны использовать .git / info / exclude (как уже упоминалось).

15
ответ дан 19 December 2019 в 20:21
поделиться

После добавления файла .gitignore и его фиксации он больше не будет отображаться в список «неотслеживаемых файлов».

git add .gitignore
git commit -m "add .gitignore file"
git status
37
ответ дан 19 December 2019 в 20:21
поделиться

Вы могли бы фактически вставить строку ".gitignore" в ваш файл .gitignore. Это может привести к тому, что файл ".gitignore" будет игнорироваться git. Я на самом деле не думаю, что это хорошая идея. Я думаю, что файл игнорирования должен контролироваться версией и отслеживаться. Я просто выкладываю это для полноты.

74
ответ дан 19 December 2019 в 20:21
поделиться

Если вы хотите сохранить список игнорируемых файлов вне вашего Git-дерева, вы можете использовать . git / info / exclude файл. Он применяется только к вашей кассе репо.

280
ответ дан 19 December 2019 в 20:21
поделиться

Кажется, это работает только для вашего текущего каталога, чтобы заставить Git игнорировать все файлы из репозитория.

обновите этот файл

.git/info/exclude 

, указав подстановочный знак или имя файла

 * pyc
* swp
* ~
8
ответ дан 19 December 2019 в 20:21
поделиться

У вас также может быть глобальный пользовательский файл git .gitignore , который будет автоматически применяться ко всем вашим репозиториям. Это полезно для файлов IDE и редакторов (например, файлов swp и * ~ для Vim). Измените расположение каталогов в соответствии с вашей ОС

  1. Добавьте в свой ~ / .gitconfig файл

      [core]
    excludesfile = /home/username/.gitignore
    
  2. Создайте файл ~ / .gitignore с шаблонами файлов, которые следует игнорировать.

  3. Сохраните файлы точек в другом репозитории, чтобы у вас была резервная копия (необязательно).

Каждый раз при копировании запускайте или клонируйте репозиторий, ваш глобальный файл gitignore также будет использоваться.

51
ответ дан 19 December 2019 в 20:21
поделиться

Конечно, файл .gitignore отображается в статусе, потому что он не отслеживается, а git видит в нем новый вкусный файл, который стоит съесть!

Однако, поскольку .gitignore является неотслеживаемым файлом. , git может проигнорировать его, когда вы поместите его в .gitignore!

Итак, ответ прост: просто добавьте строку:

.gitignore # Ignore the hand that feeds!

в свой файл .gitignore!

И, в отличие от августовского, ответ, я должен сказать, что это не значит, что файл .gitignore должен находиться в вашем репозитории. Просто так получилось, что может быть , что часто бывает удобно. И, вероятно, это правда, что именно по этой причине .gitignore был создан как альтернатива .git / info / exclude, у которого нет возможности отслеживать репозиторий. В любом случае, как вы будете использовать файл .gitignore, полностью зависит от вас.

Для справки,

15
ответ дан 19 December 2019 в 20:21
поделиться

Просто на случай, если у кого-то такая же боль, как и у нас. Мы хотели исключить файл, который уже был зафиксирован.

Этот пост был намного полезнее: слишком поздно работать с .git / info / exclude

В частности, вам нужно игнорировать файл с помощью команды git remove См. git rm ( http://www.kernel.org/pub/software/scm/git/docs/git-rm.html )

вы протестируете его, перейдя

git rm --dry-run * .log
(если вы говорите, что хотите исключить все файлы журнала)

это выведет то, что будет исключено, если вы его запустили.

, затем

вы запускаете его, перейдя

git rm * .log
(или другой путь к имени файла / выражение, которое вы хотите)

Затем добавьте строку *. Log в ваш файл .gitignore .

20
ответ дан 19 December 2019 в 20:21
поделиться

Перейдите в базовый каталог вашего git-репозитория и выполните следующую команду:

echo '\\.*' >> .gitignore

Все точечные файлы будут проигнорированы, включая этот надоедливый .DS_Store, если вы на Mac.

.
3
ответ дан 19 December 2019 в 20:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: