Как добавить файл --assume-unchanged в проект?

У меня есть файл конфигурации: conf/local.conf Я запускаю для него следующую команду:

git update-index --assume-unchanged local.conf

и все нормально, пока не переключусь на другую ветку или не потяну.

Как сохранить флаг --assume-unchanged между ветками?

UPD
Некоторые примеры того, что происходит:

$ git checkout 296-ToS-component 
error: Your local changes to the following files would be overwritten by checkout:
    conf/local.conf
Please commit your changes or stash them before you switch branches.
Aborting
$ git checkout -f 296-ToS-component 
error: Entry 'conf/local.conf' not uptodate. Cannot merge.

Я хочу, чтобы он работал следующим образом:

  1. conf / local.conf сохраняется
  2. Филиал переключен
  3. conf / local.conf заменяется сохраненной версией

Вы не должны использовать gc в вопросах, потому что это ваш локальный псевдоним не всегда понятен. Пожалуйста, редактировать вопрос и ответьте git checkout.

phd 01.06.2018 11:53

@phd: готово ........

Eugen Konkov 01.06.2018 13:20
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
762
2

Ответы 2

Удалите бит предположения без изменений:

git update-index --no-assume-unchanged local.conf

Сохрани это:

git stash

Переключить ветку:

git checkout 296-ToS-component

Получить сохраненную версию:

git show stash@{0}:local.conf > local.conf

или объедините сохраненную версию с текущей версией:

git stash apply

и могут быть конфликты, которые можно разрешить вручную.

Установите бит без изменений:

git update-index --assume-unchanged local.conf

И от всего этого я хочу сбежать. Может есть вариант как rebase.autostash true?

Eugen Konkov 02.06.2018 13:17

@EugenKonkov Может быть, сделать функцию bash, которая принимает имя ветки и путь к файлу в качестве параметров.

ElpieKay 02.06.2018 13:53

Не используйте --assume-unchanged, который следует использовать из-за проблем с производительностью для больших файлов, которые не меняются, и которые требуют больших затрат на хэширование при выполнении git status.

Вам нужен --skip-worktree, который делает почти то же самое, но обрабатывает файлы, которые вы изменили, но не хотите фиксировать.

См. https://stackoverflow.com/a/13631525/717372

И это, вероятно, (не уверен, но эй !, это то, что вы должны сделать ...) решит вашу проблему ...

Другие вопросы по теме