Может быть несколько способов задать этот вопрос, поэтому вот описание проблемы. Я работал над мастером и передал кое-какие вещи, а затем решил, что хочу отложить эту работу. Я сделал резервную копию нескольких коммитов, а затем разветвился, прежде чем начал свою дерьмовую работу. Практически это работает нормально, сейчас у меня другая ветка в качестве основной ветки разработки. Мне интересно, как я могу что-то изменить, поэтому я снова работаю над мастером, но у него нет моей ненужной работы, и я сказал, что работа находится в другой ветке.
Вот несколько способов, которыми это можно было бы задать / решить: как мне переименовать свою основную ветку во что-то другое, а затем переименовать что-то еще в мастер? Как мне сделать резервную копию мастера, а затем сделать так, чтобы все коммиты, которые я сделал резервную копию, были в другой ветке?
Спасибо за все (быстрые) ответы! Все они хороши.
[branch "crap_work"]
на чтение,[branch "master"]
чтобы мастер продолжал синхронизироваться сorigin/master
. Конечно, состояние двух репо было таким, что это все еще имело смысл.git push -uf origin master
иgit push -u origin crap_work
.Я думаю, вам следует подумать о другой стратегии развития, чтобы предотвратить подобные проблемы. Мне кажется, что лучше всего никогда не заниматься разработкой непосредственно в моей основной ветке. Независимо от изменений, которые я вношу, я всегда создаю новую ветку для нового кода:
Оттуда я могу отправить изменения в публичные репозитории:
или, в конце концов, просто объедините его с моей основной веткой:
Если вам действительно нужно вернуться к более раннему моменту времени и установить его в качестве своего мастера, вы можете переименовать текущую ветку во что-то другое, а затем проверить старую версию, чтобы стать вашим мастером:
источник
Начните
master
, создайте ветку с именемin-progress
, а затем вернитесьmaster
к более ранней фиксации.источник
Это относительно просто:
источник
git checkout -b
создает ветку и делает ее активной.Это установит вашего мастера в любую точку за один шаг:
источник