Ядро Heroku, Github и Asp.net, Как управлять appsettings.json? - PullRequest
0 голосов
/ 15 декабря 2018

Как я могу отправить основной проект asp.net на Github и Heroku, но только нажать appsettings.json на Heroku?

Я пробовал модель GitFlow, Добавлено appsettings.json в .gitignore во всех ветвях, но тот, который я назвал heroku_app и настроил --set-remote-to=heroku/master, поэтому Github не увидит его, пока я никогда не объединю его с веткой, которую может видеть Github.

однако этого не произошлоработать так, как задумано, потому что каждый раз, когда я реализую функцию для освоения, появляется git checkout heroku_app, затем git merge master, возникает конфликт объединения .gitignore, не только это, но git удаляет мой файл appsettings.json.

Если толькоЯ могу установить правило, чтобы никогда не удалять appsettings.json на git checkout или git merge, и правило, чтобы никогда не изменять .gitignore на ветви heroku_app, я был бы счастлив!

1 Ответ

0 голосов
/ 15 декабря 2018

Я нашел способ решить проблему, которую я имел, просто я разделил производственное репо и репозиторий рабочих папок, затем в производственное репо добавили две ветви, одну из которых нужно извлечь из github, а другую - в герою, а затем добавили правила исключения слияния.От ветки pull до производственной ветви:

=== Создание двух отдельных репозиториев git

Первый - это рабочий каталог

Второй - это производственный каталог, который я создаюотдельно

В каталоге рабочего каталога:

  1. Клонировать репозитории github
  2. добавить "путь / файл чувствительности" в файл .gitignore во всех ветвях, зафиксировать и нажать
  3. поместите файл sensitvefile в рабочий каталог и убедитесь, что git не обнаружил никаких изменений по `git status

- теперь файл Sensitvefile будет игнорироваться, давайте перейдем к производственному репо, который я создал ранее

  1. создайте ветку heroku с именем heroku-prod
  2. создайте ветку master под названием master
  3. add remote github repo git remote add github remoteGithubUrlHere.git
  4. добавление удаленного репозитория heroku git remote add heroku remoteHerokuUrlHere.git

=== добавление исключения слияния в папке heroku

  1. добавлениедрайвер слияния называется нашим в глобальной конфигурации git

    git config --global merge.ours.driver true

  2. добавить исключение в 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...