Создать ветвь из другой ветви с ее последними изменениями?

#git

Вопрос:

Мне нужно создать ветвь из другой ветви с ее последними изменениями. Я использую bitbucket, я создал его через панель веб-сайта и проверил новую ветвь в своем коде VS, но понял, что последние изменения не происходят. (предположим, есть ветвь под названием A , которая создана из development ветви, и у A ветви есть куча коммитов, и теперь мне нужна ветвь B A с ее коммитами) и, похоже, я создаю свою новую ветвь B из ветви A, но без коммитов. как я могу внести изменения в ветвь В?

Комментарии:

1. Бессвязный. В ветке нет «коммитов». Ветвь-это имя одного коммита. Все остальные коммиты либо доступны, либо недоступны из этого одного коммита (через родительскую цепочку). Теперь поставьте свой вопрос в свете этих фактов. В чем проблема?

2. @matt в ветке A я сделал несколько изменений, и я сделал несколько фиксаций для этих изменений. сегодня я создаю новую ветвь от А. Мне нужно, чтобы эти изменения стали очевидными.

3. Если вы создадите B из A, коммиты, которые вы создали, находясь в A, будут «включены» B. Снова я спрашиваю, с точки зрения того, что такое Git на самом деле, в чем проблема?

4. Если вы находитесь в A ( git switch A ) и создаете B ( git switch -c B ), то все коммиты «на» A теперь также «на» B. Это просто факт. Если у вас есть предполагаемое противодействие, то вы не делаете то, что я только что сказал. Но вы не показали, что вы делаете; вы просто машете руками. Покажите, что вы сделали и что вас не устраивает в том, что git log B вам говорит.

5. Вы сделали фиксации локально, а не отправили их, а затем создали ветвь в веб-интерфейсе BitBucket из старого состояния вашей ветви?

Ответ №1:

Вы можете использовать эту команду в ветке A :

 git checkout -b B A
 

Таким образом, у вас есть ветвь B со всеми A фиксациями.