Только нажмите некоторые изменения на удаленный - PullRequest
0 голосов
/ 30 апреля 2018

Я работаю над базой кода локально, где мне пришлось внести большое количество изменений в конфигурацию, чтобы заставить вещи работать на моей локальной машине.

По сути, я исправляю фрагменты этого приложения и загружаю исправления в удаленные ветви, где они проверяются и передаются в главную ветку разработчика.

Мне нужны локальные изменения конфигурации для запуска приложения, но я не хочу включать их в какие-либо изменения в удаленных ветвях.

Есть ли хороший способ, чтобы я мог сохранять свои изменения конфигурации локально (возможно, в локальной ветке), но не загружать их при установке других исправлений?

Ответы [ 3 ]

0 голосов
/ 30 апреля 2018

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

Вы, вероятно, захотите назвать тайник, чтобы потом можно было легко обратиться к нему:

git stash save "testing configuration"
git stash apply stash^{/testing}

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

0 голосов
/ 30 апреля 2018

Существует несколько стратегий обработки параметров, специфичных для окружающей среды. Лучшие решения включают изменение процесса сборки, чтобы «локальные» файлы конфигурации не сохранялись в системе контроля версий.

Например, вы можете сохранить шаблон для файла конфигурации и попросить процесс сборки прочитать файл свойств, чтобы определить окончательные значения, которые будут интерполированы в шаблон. Значения для общих сред (prod, qa, dev) могут храниться на сервере сборки и / или в системе контроля версий отдельно от шаблона. Ваши локальные значения будут в поддерживаемом вами файле свойств, хотя файл «по умолчанию» для этой цели, безусловно, может храниться в системе контроля версий (с намерением скопировать и изменить его, чтобы избежать случайной публикации ваших локальных изменений в файле по умолчанию). ).

Если вы не можете осуществить такое изменение? Ну, люди всегда приходят к решениям, основанным на тайнике или измененных флагах в индексе (skip-worktree, предположить без изменений). Я вообще рекомендую против них, поскольку у них всех есть недостатки в той степени, что они "иногда могут работать". Но при отсутствии возможности сделать это проблемой сборки, это может быть лучшим, что вы можете сделать.

0 голосов
/ 30 апреля 2018

Вы можете просто зафиксировать изменения в файлах, которые вы изменяете. Или вы можете использовать файл .gitignore: https://help.github.com/articles/ignoring-files/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...