2015-10-24 6 views
1

У меня есть две удаленные ветви (A) и (Z) и соответствующие локальные ветви (a) и (z).GIT - Копирование содержимого одной удаленной ветви на другую

В ветке (A) У меня есть контент (полный проект), как в (a), так как a «настроен для отслеживания удаленной ветви (A) из Origin».

Локальная ветка (z) также настроена для отслеживания удаленной ветви (Z), но пуста.

Мой вопрос: как я могу скопировать содержимое удаленной ветви (A) в удаленную ветвь (Z), чтобы в локальной ветви (z) получить тот же контент, что и локальная ветвь (a).

Спасибо.

ответ

0

Что вы имеете в виду, ваш филиал z пуст? Если вы не заботитесь о содержании Z и Z просто удалить как и начать с нуля:

Удалить г ветвь:

git branch -d z 

Удалить удаленный Z ветви и подрезать местного репо

git push origin :Z 

git remote prune origin 

Создать новую ветку z от начала координат/A и проверить ее

git checkout -b z origin/A 

Нажмите новую ветвь на источник/Z с отслеживанием

git push -u origin Z 
-1

Если у вас есть существующий местный филиал z, где вы хотите, чтобы скопировать код филиала a, то вы можете использовать либо merge или rebase команду.

Объединить:

git checkout z

git merge a

git push origin z

Rebase;

git checkout z

git rebase a

git push origin z

Если у вас нет существующего местного отделения, то вы можете создать новую ветку с ветки a и в этом случае ваш местный филиал будет иметь тот же код, ваша отрасль a. Это лучший способ сделать это.

  • Я бы предпочел, чтобы удалить свой местный филиал z и будет создавать новую ветку z против филиала a.Для этого:

git branch -d z // Это будет удалить только местное отделение

git checkout a

git checkout -b z

git push origin z