Работа с ветками Git - PullRequest
       7

Работа с ветками Git

0 голосов
/ 25 февраля 2011

У меня есть приложение Rails, развернутое на Heroku, и у меня есть git-репозиторий, над которым я сейчас работаю с незафиксированными изменениями кода.Тем временем мне нужно внести изменения в источник на Heroku независимо от локального репо.Могу ли я сделать следующее:

  1. Клонировать репозиторий Heroku git на той же машине для разработки с другим именем приложения, но с той же учетной записью
  2. Внести изменения в новое локальное репо
  3. Передайте эти изменения в новое локальное репо
  4. Вставьте эти изменения в репозиторий Heroku
  5. Возобновите работу над моим исходным локальным репо

Будет ли этот подходработа

Ответы [ 4 ]

3 голосов
/ 25 февраля 2011

Да, этот рабочий процесс будет работать или спрятать их - и не забывайте, что если вы сделаете клон репозитория heroku, вы внесете изменения в другой клон репо, и вам нужно будет ихизменения в вашем первоначальном локальном репо.

В будущем я бы предположил, что вы предполагаете, что ваша ветка 'master' - это то, что работает на Heroku, и ветвь этого для работы - вы даже можете вставить эту ветку в новое приложение для тестирования.Таким образом, исправления ошибок могут быть выполнены в вашей локальной ветке master (или другой ветке и объединены в master) и отправлены в heroku, а затем, когда вы закончите новую работу, вы объедините ветку обратно в master и развернете ее в своей среде.Я написал статью в блоге на эту тему некоторое время назад, здесь

0 голосов
/ 25 февраля 2011

Мой рабочий цикл: я всегда держу ветку master с правилом # 1 "всегда нажимать на Heroku после фиксации чего-либо на master". Если я кодирую что-то, что не хочу развертывать немедленно, я должен выполнить ветвление.

Я знаю, что это работает не для всех случаев использования, но наличие ветки, идентичной приложению, работающему на Heroku, заставляет меня спать лучше;)

0 голосов
/ 25 февраля 2011

Если вы клонируете репозиторий heroku в отдельный каталог, вносите изменения и отправляете его оттуда, то в будущем возможны конфликты.

Если проблема связана только с незафиксированными изменениями, то вы, конечно же, можете спрятать их, используя «git stash», а затем получить их, используя «git stash pop».

0 голосов
/ 25 февраля 2011

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

  • stash мои локальные изменения, вырезать ветку из точки, где я хочу сделать исправление, сделать это, развернуть ее, переключиться обратно на мою первоначальную ветку и выскочить из тайника.

  • Зафиксируйте мои несохраненные изменения (в текущую ветвь - скажем work), обрежьте ветку от точки, где я хочу сделать исправление, сделайте мое исправление, разверните его,переключитесь обратно на work, сбросьте мой HEAD до моей "временной" фиксации и возобновите работу.

Если вы не используете git нетрадиционным способом, нет необходимостисделать еще один клон

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