В Git, как получить все содержимое другой ветви в ту ветку, в которой я хочу работать? - PullRequest
0 голосов
/ 07 июня 2018

Допустим, я в ветке А. Есть другая ветка Б, в которой есть все мои файлы проекта.Я хочу получить все файлы из ветви B в ветку A, чтобы я мог работать над ошибками в проекте, находясь в ветке A, и соответственно нажимать.

Редактировать:

Извинитеесли бы я не объяснил это идеально.Моя ситуация такова: есть ветка s1, над которой работает мой друг.У меня есть ветка v1, над которой я работаю.Теперь я чувствую, что содержимое в моей ветке - полная чушь, поэтому я хочу, чтобы все содержимое ветви s1 в моей ветви v1, а также файлы в ветви v1 в моем локальном репозитории.Я сделал «git push origin s1: v1», но когда я сделал «git checkout v1», я все еще мог видеть только предыдущие файлы v1.Помоги мне.Заранее спасибо

1 Ответ

0 голосов
/ 07 июня 2018

Предполагая, что s1 отправляется удаленно, сначала синхронизируйте локально:

git fetch origin

Теперь извлекайте s1 локально:

git checkout s1

Извлекайте ветку v1

git checkout v1

Используйте ветку s1, чтобы перебазировать v1:

git rebase s1

Если вы изменяли файлы, которые также изменил s1, у вас, скорее всего, будут конфликты слияния, через которые вам придется проходить.В конце вы получите ветку s1 плюс ваши изменения v1, которые не конфликтовали с изменениями s1.Если вы хотите в одностороннем порядке принять изменения на s1, вы можете сделать следующее:

git rebase -s ours s1

Да ours кажется сбивающим с толку, но перебазировка является противоположностью слиянию с точки зрения базовой ветви, поэтомупринять изменения от s1, вы должны использовать ours.

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