Подтвердить что ты не робот

Рабочий стол Github: кнопка "Обновить из <ветки>"

На этом рисунке ниже из приложения для рабочего стола Github (c) есть эта кнопка "Обновление от мастера" (в данном случае). Мне было интересно, есть ли у кого-нибудь представление о том, какая именно функция git запускается. В первую очередь меня интересует, используется ли слияние или перебаза. (Я не смог найти какую-либо консоль журнала).

введите описание изображения здесь

4b9b3361

Ответ 1

Команды git, лежащие в основе кнопок в рабочем столе GitHub, не документированы, поэтому я некоторое время искал их. Я пришел к выводу, что кнопка "Обновить из..." отправлена ​​

git merge --no-ff -m "Merge <auto_text> <branch_name>" <branch_name>

или что-то почти идентичное ветке "Сравнить", установленной в <branch_name> в графическом интерфейсе GitHub Desktop.

Я пришел к заключению следующим образом:

Сначала я разветкил репозиторий, который я контролирую для своей учетной записи GitHub. Затем я клонировал репозиторий из моей учетной записи GitHub на свой локальный компьютер. Затем я совершил небольшое изменение в (оригинальном) основном удаленном репозитории. Наконец, я использовал git fetch <remote_name_assigned_to_main_repo> (<remote_name>, далее), чтобы принести одиночную фиксацию на мой локальный компьютер. После этого fetch загорится кнопка "Обновить с...".

Этот сценарий, в котором выведен филиал, master в моем локальном репозитории, был одним фиксатором за master в основном удаленном репозитории. По умолчанию git merge <remote_name> создаст ускоренное слияние (без коммита слияния).

Использование кнопки "Обновить с..." привело, однако, к следующей записи reflog:

[email protected]{0}: merge <remote_name>/master: Merge made by the 'recursive' strategy.

И фиксация слияния в log:

Merge remote-tracking branch '<remote_name>/master'

( "Рекурсивная" стратегия "... является стратегией слияния по умолчанию при вытягивании или объединении одной ветки". в руководстве.)

Я также установил сценарий, в котором git rebase мог быть опцией, но видел одно и то же поведение слияния.

Ответ 2

Когда я наводил курсор на кнопку, он явно говорит: "Merge XX Committ from from

введите описание изображения здесь

Ответ 3

Просто зайдите в меню "Ветка", затем "Слейте в текущую ветвь..." и выберите ветку, из которой вы хотите получить "обновление".