#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
фиксациями.