GitHub как проверить чужую ветку, не переопределяя вашу - PullRequest
0 голосов
/ 23 апреля 2019

У меня просто вопрос, когда я использую GitHub.

Скажите, если кто-то, с кем я работаю, внес некоторые изменения в файл B основной ветки и хочет, чтобы я проверил его перед слиянием. Проблема в том, что я тоже отредактировал некоторые файлы, и если я получу его код, он переопределит мой. Как мне подходить к этому, если я хочу проверить его код, не переопределяя мой. Должен ли я просто загрузить файл ветки и запустить его или есть более быстрый способ без загрузки его кода?

Ответы [ 3 ]

0 голосов
/ 23 апреля 2019

Просто извлеките удаленную ветку (после извлечения), которая не затронет вашу ветку, не нужно делать что-то более изворотливое.

git checkout some-repo/some-branch

Вы начнете работать на detached HEAD, это обычный бизнес,Вы можете вернуться в свою ветку

git checkout my-branch
0 голосов
/ 23 апреля 2019

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

См. git checkout [--detach] <commit>.

Подготовьтесь к работе поверх <commit>, отсоединив HEAD на нем (см. "DETACHED HEAD "), а также обновление индекса и файлов в рабочем дереве.Локальные изменения файлов в рабочем дереве сохраняются, поэтому итоговое рабочее дерево будет иметь состояние, записанное в коммите, а также локальные изменения.

Например, если ваш сотрудник нажалФиксация с помощью хэша 9536809:

git fetch             # to update your copy of remote repo
git checkout 9536809  # to get your co-worker's changes

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

git checkout <local-branch-name>

# OR

git checkout -

Обратите внимание, что часть документов, которая делает это, также будет применяться ваша локальные модификации.Поэтому, прежде чем проверять коммит вашего коллеги, сначала либо commit ваши изменения, либо сначала stash.


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

0 голосов
/ 23 апреля 2019

Предположим, что ваш репо находится под /path/to/foo.

cd /path/to/foo
git fetch origin master
git worktree add /path/to/bar FETCH_HEAD

Последний коммит master из удаленного репозитория извлечен на /path/to/bar.Вы можете проверить код в /path/to/bar.Код включает в себя изменения А, без вашего.Позже вы можете просто удалить /path/to/bar и запустить git worktree prune в /path/to/foo.

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