/ / Тимчасово приховати деякі змінені файли в git - git

Тимчасово приховати деякі змінені файли в git-git

Кожного разу, коли я виконую завдання, я створюю локальнийу гіт, тоді мені потрібно змінити купу файлів конфігурації (в основному, містить рядки з'єднання з базами даних), щоб встановити моє місцеве середовище перед фактичною роботою. Ці зміни я не хочу натиснути на сховище пізніше, коли я закінчу своє завдання.

Насправді я б вважав за краще відфільтрувати їх під час перегляду змінених файлів (git status)

Я міг зробити перше зобов'язання у своєму місцевому відділенні і відновити його, перш ніж натискати. Але є шанс, що я його забуваю. Чи є кращий спосіб для цього?

Відповіді:

3 для відповіді № 1

Найбільш рекомендованим рішенням є використання:

git update-index --skip-worktree <file>

Документація:

- [no-] skip-worktree

Коли вказано одне з цих прапорів, об'єктНазва, записана для шляхів, не оновлюється. Замість цих варіантів встановити та вимкнути біт "skip-worktree" для шляхів. Див. Розділ "Skip-worktree bit" нижче для отримання додаткової інформації.

І це пропустити біле:

Пропустити білий бік

Штрих-бітовий біт можна визначити в одному (довгий)пропозиція: при читанні запису, якщо вона позначена як пропуск-червень, тоді Git робить вигляд, що його версію робочого каталогу оновлено і замість нього читає індексну версію.

Для розробки "читання" означає перевірку файлуіснування, читання атрибутів файлу або файлу вмісту. Версія робочого каталогу може бути присутня або відсутня. Якщо присутній, його вміст може відповідати версії індексу чи ні. Питання не впливає на цей біт, безпека вмісту все ще залишається першочерговим завданням. Зверніть увагу, що Git може оновити файл робочого каталогу, тобто це позначено як пропуском, якщо це безпечно (тобто робоча версія каталогу відповідає версії індексу)

Незважаючи на те, що цей біт виглядає схожим на припущені-незмінені біт, його мета відрізняється від assume-unchanged bit. Skip-worktree також має перевагу над припущеним без змін біт, коли обидва встановлені.

The --assume-unchanged прапор призначений для підвищення продуктивності, в той час як --skip-worktree призначений для випадків, коли ви змінюєте файл і хочете пропустити його в будь-якому випадку.

Щоб скасувати, використовуйте:

git update-index --no-skip-worktree <file>

3 для відповіді № 2

Щоб тимчасово ігнорувати зміни у певному файлі, ви можете зробити це:

git update-index --assume-unchanged <file>

Якщо ви хочете знову відслідковувати зміни, просто потрібно запустити:

git update-index --no-assume-unchanged <file>