Локально отслеживать локальные файлы, но игнорировать их на удаленном - PullRequest
0 голосов
/ 14 февраля 2020

Context

Я хочу отслеживать историю локального скрипта в папке проекта root, используя git, но я не хочу push это на remote.

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

Идеи

Это казалось решением проблемы; Отслеживание файлов в локальном Git хранилище, но игнорирование в удаленном , но для этого требуется создание подпапки, которую я не хочу создавать по разным причинам, и, таким образом, все мои файлы сценариев хранятся в root моей папки.

Вопрос

Есть ли простой способ сделать это?

Ответы [ 2 ]

0 голосов
/ 14 февраля 2020

Я думаю, что ваш лучший выбор - превратить его в подмодуль, но, как вы уже упоминали, это не вариант, лучше всего делать это с использованием Git хуков (еще не пробовал ').

Если вы можете добавить pre-receive или post-receive hook , вы можете сделать что-то похожее на this , но вместо отклонения вы можете удалить файлы из коммита и изменить его.

Опять же, даже не уверен, что это возможно, так как это создаст новый коммит, и sh и извлечение из одной и той же ветви не будет возможно, так как ссылки будут совершенно другими. Вам нужно было бы всегда pu sh как git push origin local_branch:remote_branch, чтобы это даже имело смысл.

0 голосов
/ 14 февраля 2020
  1. Создание новой ветви без удаленного отслеживания
  2. Удаление игнорируемых файлов из .gitignore
  3. Фиксация локальной ветви
  4. Вы можете установить hook на автоматизировать коммиты в локальную ветку

Когда вы фиксируете основную ветку, вам просто нужно объединить этот коммит с локальной веткой. Все изменения в локальных отслеживаемых файлах вы должны делать в локальной ветке.

...