Ще одним аспектом, git status
який буде вдосконалено (у Git 2.14.x / 2.15, Q4 2017), є також те, що він відображає ігноровані файли ( git status --ignored
)
" git status --ignored
", коли помічає, що каталог без будь-якого відстежуваного шляху ігнорується, все одно перераховує всі проігноровані шляхи в каталозі, що є непотрібним.
Шлях коду оптимізований, щоб уникнути цих накладних витрат.
Див. Коміт 5aaa7fd (18 вересня 2017 р.) Від Джеймсона Міллера ( jamill
) .
(Об’єднано Junio C Hamano - gitster
- у комітеті 075bc9c , 29 вересня 2017 р.)
Поліпшення продуктивності git status --ignored
Покращити продуктивність логіки списку каталогів, коли вона хоче перерахувати не пусті ігноровані каталоги. Для того, щоб показати не пусті ігноровані каталоги, існуюча логіка буде рекурсивно перебирати весь вміст ігнорованого каталогу.
Ця зміна вводить оптимізацію, щоб зупинити перегляд вмісту, як тільки він знайде перший файл. Це може суттєво покращити продуктивність 'git status --ignored' у сховищах з великою кількістю файлів у ігнорованих каталогах.
Для прикладу різниці продуктивності на прикладі сховища з 196 000 файлами в 400 ігнорованих каталогах:
| Command | Time (s) |
| -------------------------- | --------- |
| git status | 1.2 |
| git status --ignored (old) | 3.9 |
| git status --ignored (new) | 1.4 |
Детальніше про вдосконалення (встановлено в Git 2.17, Q2 2018) див цій відповіді .