/ / Временно скрий някои променени файлове в git - git

Временно скрийте някои променени файлове в git - git

Всеки път, когато изпълнявам задача, създавам местенразклонение в git, тогава трябва да променя куп конфигурационни файлове (най-вече съдържащи връзки низове към бази данни), за да настроите на моята местна среда преди действителната работа. Тези промени не искам да прокарам до хранилището по-късно, след като приключа със задачата си.

Всъщност бих предпочел да ги филтрирам, когато преглеждам променените файлове (git status).

Бих могъл да се захвана с моя локален клон и да го върна, преди да го натисна. Но има шанс да го забравя. Има ли по-добър начин за това?

Отговори:

3 за отговор № 1

Най-препоръчителното решение е да използвате:

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

документация:

- [няма подобен] прескачане-worktree

Когато е зададен един от тези знамена, обектътимето, записано за пътеките, не се актуализира. Вместо това, тези опции задайте и деактивирайте бита "skip-worktree" за пътеките. Вижте раздел "Пропускане на работно време" по-долу за повече информация.

И skip-worktree малко:

Пропуснете малко работа

Пропуснатата работа може да бъде определена в един (дълъг)изречение: Когато четете запис, ако той е означен като пропуск, Git се преструва, че работната му версия е актуална и вместо това прочете индекса.

За да се разработи, "четене" означава проверка за файлсъществуването, четенето на файлови атрибути или съдържанието на файла. Работната версия на директорията може да е налице или да липсва. Ако е налице, съдържанието му може да съответства на индексната версия или не. Писането не се влияе от този бит, безопасността на съдържанието е все още първи приоритет. Обърнете внимание, че Git може да обновява работния директорски файл, който е означен като skip-worktree, ако е безопасно да го направи (т.е. версията на работната директория съвпада с индексната версия)

Макар че този бит изглежда подобен на предполагаемия непроменен бит, неговата цел е различна от приетия непроменен бит. Пропускът на работния процес също има предимство пред предполагаемия непроменен бит, когато и двете са зададени.

Най- --assume-unchanged флагът е предназначен за подобряване на производителността, като има предвид, че --skip-worktree е предназначен за случаи, в които можете да промените файла и искате git да го пропуснете така или иначе.

За да отмените, използвайте:

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

3 за отговор № 2

За да игнорирате временно промените в конкретен файл, можете да направите това:

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

Когато искате да проследявате промените отново, трябва да изпълните:

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