Нужен совет по безопасности моего коммита и рабочего процесса слияния - PullRequest
0 голосов
/ 25 октября 2018

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

git commit -am <MY COMMIT MESSAGE> && git push && git checkout master && git pull && git merge <MY BRANCH> && git push && git checkout <MY BRANCH>

Это кажется немного любительским и GIT Я довольно ограничен в своих знаниях и навыках. Я хотел спросить совета, безопасна ли моя команда и, если нет, лучший способ сделать это.По сути, я хочу объединить свою ветку с origin / master , а затем переключиться обратно на мою локальную ветку

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Вот мои комментарии:

  1. git commit -am не будет добавлять новые файлы.
  2. Ваш скрипт не проверяет наличие ошибок.Если какая-либо из команд терпит неудачу (например, конфликт слияния), она просто бездумно пытается сделать следующий шаг - вы можете и в смутном состоянии.
  3. Если вы всегда сливаетесь с мастером при фиксации, что является целью иметь ветвь без мастера.Я бы сказал, просто работать на одну ветку.

    Это важно , поскольку оно удаляет 5 шагов (&& git checkout master && git pull && git merge <MY BRANCH> && git push && git checkout <MY BRANCH>) и оставляет только git commit и git push.

    Если у вас есть только два шага, вам не нужно «автоматизировать» их.


RE: Комментарий

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

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

В настройке для нескольких человек ваш сценарий на самом деле не складывается.Например, как вы делаете обзоры кода?Я рекомендую выдвигать запросы на слияние с 'master' (это не git, но многие решения git repo хостинга предоставляют эту дополнительную функциональность)

0 голосов
/ 25 октября 2018

Вот некоторые отзывы, которые могут быть полезны:

  • Использование флага -a при фиксации автоматически вносит ВСЕ изменения локально.У вас могут быть изменения, которые вы не хотите совершать.Можно предположить, что вы вручную вносите изменения, которые хотите зафиксировать, перед выполнением фиксации / push и т. Д., Не используя флаг -a.

  • Цепочка команд извлечения push adn может привести кпроблема, если кто-то еще подтолкнул к исходной точке, прежде чем вы потянете (то есть ваш толчок отклонен).Команда может пройти (даже если она отклонена), и проверка по-прежнему будет происходить (YMMV).Возможно связать коммит / толчок и затем извлечение / извлечение в 2 команды

  • Слияние git может вызвать конфликты, которые остановят выполнение команды.Вы также можете запустить модульные тесты после слияния, но перед нажатием на источник.

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