Как мне заставить мой локальный git отражать master в Github?

#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, который имеет следующий иллюстрированный поток сверху вниз (и я бы настоятельно рекомендовал следовать):

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