Git - обновить мастер fork и переустановить мою ветку на него?

Я разветкил проект github, а затем клонировал его локально.

Затем я сделал некоторые изменения в новой ветке на my_github/the_project repo.

Затем я добавил и зафиксировал изменения и нажал на мой репит github и отправил запрос на перенос.

Владелец получил мой запрос и хотел бы, чтобы я "переделал на мастера", чтобы получить последние изменения. Как это сделать?

Первоначально я думал, что могу просто git fetch и rebase master из моей текущей ветки (поскольку большинство сообщений, которые я нашел, советуют...), но git fetch ничего не сделал. Теперь я понял, что это, по-видимому, потому, что я все еще извлекаю из my_ github/repo clone (это мое имя в пультах), которое еще не получило новых изменений в master от владельца источника github.

Я думаю, что мне, вероятно, нужно будет "обновить" свою вилку, чтобы мой мастер-вилка был обновлен, а затем я могу получить этот мастер и затем переустановить его на этот мастер?

Если это так, как я могу сделать это обновление моего мастера вил? Если не как иначе?

Должен ли я добавить пульт для исходного репозитория вверх и использовать его для переадресации (локально)? Является ли это предпочтительным методом?

Ответ 1

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

git checkout master # Make sure you are in master
git remote add author original_repo_that_you_forked_from
    # Note: This is in the format [email protected]:authors_name/repo_name.git
    #       Only needs definition once, future fetches then use it. 
git fetch author
git status # make sure you are in the master branch for the following merge
git merge author/master  # i.e. 'into' your master branch
git checkout your-branch
git rebase master        # Now get those changes into your branch.
git push origin your_branch # You can also use `-f` if necessary and `--all`

(извините, у меня может не быть синтаксиса в точности)