Фиксировать подкаталог в ветке локально, но не включать его при отправке в удаленную ветку? - PullRequest
1 голос
/ 24 сентября 2019

У меня есть каталог в частном, но совместно используемом проекте GitHub, который содержит конфиденциальные данные, которые я хочу зафиксировать локально, чтобы они создавали резервные копии при резервном копировании на локальном жестком диске, но не отправляется вудаленная ветка.Есть ли способ настроить это, используя средства / функции Git?

Использование файла .gitignore не работает, потому что, насколько я могу судить, нет способа иметь другое поведение или разные .gitignore файлы для локальногокоммиты против того, что передается в удаленную ветку.

Если это невозможно, как вы решаете эту проблему?

Обратите внимание, это не те данные, которые я могу поместитьв переменных среды.Это набор файлов, которые содержат конфиденциальные данные.

1 Ответ

1 голос
/ 24 сентября 2019

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

git checkout -b localOnly
git add sensitiveFile
git commit
git checkout originalBranch
git push (this pushes originalBranch but not localOnly)

Вы также можете использовать файл .gitignore, чтобы гарантировать, что вы не 't случайно добавьте конфиденциальные файлы в ветвь, которая будет отправлена.

Обратите внимание, что git может удалить чувствительный файл с вашего рабочего дерева, когда вы переключитесь обратно на originalBranch.В этом случае вы можете вернуть его обратно в ваше рабочее дерево:

git checkout localOnly sensitiveFile
...