#git #github
#git #github
Вопрос:
Я не думаю, что я даже спрашиваю об этом правильно. Вот моя ситуация.
У меня есть локальный репозиторий с master
и dev
ветвями. То же самое на Github.
Другой разработчик создал ветку и отправил ее на Github, а затем создал запрос на извлечение. Я объединил этот запрос на извлечение в master
на Github.
Локально я выполнил, git pull
и мой локальный master
обновлен. Однако теперь в моих dev
ветвях как на local, так и на Github нет изменений, внесенных этим запросом на извлечение.
Я хотел бы dev
начать все сначала с master
. В основном я провожу 95% своего времени в этой dev
ветке, и если я хочу запустить консоль Rails локально, я хочу, чтобы она работала должным образом.
Как мне это сделать (и как это называется)?
Ответ №1:
Имейте в виду, что управление версиями Git выполняется только в дальнейшем. Как только вы утвердите PR для master
, то master
это самый последний момент в потоке. Если вы хотите включить эти изменения в dev
, все, что вам нужно сделать, это перейти на dev
ветку, а затем merge
master
в нее:
git checkout dev
git merge master
Перенос изменений из master
в dev
является обычной практикой после выпуска. Однако, теоретически, в не должно быть никаких изменений master
, dev
которых не существует в hotfix
, поскольку обе release
ветви и dev
ответвления должны быть объединены в,, непосредственно.
Ветви функций сами по себе должны выходить только на dev
, dev
при этом master
в конечном итоге изменения в ветвях функций должны быть перенесены на release
с помощью в-ветви.
Срочные изменения действительно могут быть запланированы для master
, хотя они должны быть созданы как hotfix
ветвь, которая объединяется с обоими dev
и master
.
Это следует за процессом, известным как Git Flow, который имеет следующий иллюстрированный поток сверху вниз (и я бы настоятельно рекомендовал следовать):
Комментарии:
1. Это фантастика. Git настолько широко открыт, и вы можете делать в нем все, что захотите. Это ошеломляет. Иногда мне просто нужно, чтобы кто-то сказал мне, что делать. Спасибо!
Ответ №2:
Они являются отдельными ветвями от Master, поэтому у них нет изменений на Master.
Обычно то, что вы бы сделали, это объединили свою основную ветку с веткой разработчика. Могут возникнуть конфликты слияния, которые вам придется разрешать.
Я предполагаю, что вы хотите сохранить свои изменения в dev, но просто добавляете материал в master, пока не будете готовы также нажать на master.
Если вы
git checkout dev
git merge master
Вот основное руководство по ветвлению и слиянию
https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging
И вот один из atlassian https://www.atlassian.com/git/tutorials/using-branches/git-merge