Я нашел способ решить проблему, которую я имел, просто я разделил производственное репо и репозиторий рабочих папок, затем в производственное репо добавили две ветви, одну из которых нужно извлечь из github, а другую - в герою, а затем добавили правила исключения слияния.От ветки pull до производственной ветви:
=== Создание двух отдельных репозиториев git
Первый - это рабочий каталог
Второй - это производственный каталог, который я создаюотдельно
В каталоге рабочего каталога:
- Клонировать репозитории github
- добавить "путь / файл чувствительности" в файл .gitignore во всех ветвях, зафиксировать и нажать
- поместите файл sensitvefile в рабочий каталог и убедитесь, что git не обнаружил никаких изменений по `git status
- теперь файл Sensitvefile будет игнорироваться, давайте перейдем к производственному репо, который я создал ранее
- создайте ветку heroku с именем heroku-prod
- создайте ветку master под названием master
- add remote github repo
git remote add github remoteGithubUrlHere.git
- добавление удаленного репозитория heroku
git remote add heroku remoteHerokuUrlHere.git
=== добавление исключения слияния в папке heroku
добавлениедрайвер слияния называется нашим в глобальной конфигурации git
git config --global merge.ours.driver true
добавить исключение в heroku-ветку
git checkout heroku-prod
add ".gitignore merge =наши ".gitattributes add" .gitattributes merge = ours ".gitattributes, затем фиксируют изменения.
шаги публикации
1 - извлечение из github
git checkout master
git pull github master
2 - объединить мастер-ветку с веткой heroku
git checkout heroku-prod
git merge master
3 - нажать на герою
git checkout heroku-prod
git push -u heroku heroku-prod
======= Важное примечание
любые изменения в .gitignore или .gitattributes будут игнорироваться при слиянии master-branch to heroku-branch, поэтому, если есть какие-либо изменения в этом файле, они должны:
- быть отредактированы вручную.
- Или временно удалить исключение слияния в файле .gitattributes и хранить конфиденциальные файлы подальшезатемобъединить, затем вернуть исключение объединения в .gitattributes