git извлекает все файлы из существующей ветки в новую ветку - PullRequest
0 голосов
/ 02 июня 2018

У меня есть ветка с именем Brach1.

Я хочу скопировать все файлы / папки в этой ветке во вновь созданную ветку, скажем, Branch2

Пожалуйста, не спрашивайте "что вы пробовали до сих пор".

Я не могу попытаться потерять свои данные, играя вокруг.

Я гуглил, и она рассказывала ниже, что я запутался с target_branch и new_branch.

Рабочий процесс Git: объединить существующую ветку с новой веткой и удалить старую

Пожалуйста, предложите подробные шаги

Ответы [ 4 ]

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

Вы неправильно поняли ветвление:

По умолчанию вы находитесь на master ветке , поэтому вы уже используете ветки, но вы не знали об этом.Ветвь - это просто «закладка» для коммита, а не новый «каталог».

Если вы создаете новую ветку, она будет указывать на тот же коммит, где вы сейчас находитесь (обычно HEAD of master).Изучив эту новую ветку, вы не потеряете ни один из ваших файлов.

Лучший способ понять это - учиться на собственном опыте: создайте новый репозиторий и попробуйте его.

См. Pro Gitкнига для деталей:

https://git -scm.com / book / ru / v2 / Git-Branching-Branches-in-a-Nutshell # _create_new_branch

Что произойдет, если вы создадите новую ветку?Ну, это создает новый указатель для вас, чтобы двигаться.

Он больше ничего не делает, но добавляет «закладку» под названием «Branch2», файлы остаются нетронутыми.

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

git checkout -b new_branch old_branch

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

В вашем случае, target_branch - это ' Branch1 ', а new_branch - это ваше ' Branch2 ' (в зависимости от названия вашего филиалаописано в вашем вопросе).

Итак, вот что вы должны сделать:

1 - если ваши изменения не зафиксированы, вы можете просто сделать это:

git checkout -b <new-branch>

Это создаст и оформит заказ в новой ветке и сохранит все ваши изменения.Кроме того, ваши изменения будут существовать в старой ветке.

2 - Если вы зафиксировали свои изменения:

> git checkout Branch2
> git cherry-pick Branch2..Branch1
> git branch -f Branch1
> git checkout Branch1
0 голосов
/ 02 июня 2018

Команда git checkout -b new_brach сохранит ваши локальные изменения, перенеся их в новую ветвь.

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