Как я могу изменить свою локальную главную ветку, идентичную github upstream? - PullRequest
1 голос
/ 17 января 2020

Я новичок в использовании git. У меня есть ветка (развивающаяся), клонированная из GitHub. Я сделал некоторые изменения в коде, затем поставил их на коммиты и создал новую ветку (Remove_Annotations). Затем я понял, что должен был сначала создать новую ветку, а затем подготовить их для коммитов в новой ветке. Теперь в моей ветви разработки есть изменения, которые я сделал, но я не хочу. Можно ли как-нибудь отменить изменения, которые я сделал в ветке разработки, чтобы сделать ее похожей на мой GitHub upstream?

Я читал об использовании git reset --hard @{u}, что сделало бы локальную ветку похожей на мой upstream. Я не уверен, правильно ли использовать git reset --hard для ветки разработки. Я не хочу ничего делать с веткой Remove_Annotations.

Как это исправить?

Ответы [ 2 ]

1 голос
/ 17 января 2020

Вы можете сначала создать новую ветвь на основе вашей текущей ветки, а затем отправить эту ветку в удаленный репозиторий.

git checkout -b new_feature
git push origin new_feature

Затем перейдите в свою ветку разработки и сбросьте эту ветку на старая версия

git checkout develop
git log # select which history version you want to reset
git reset --hard <the history version you selected>
0 голосов
/ 17 января 2020

Аппаратная перезагрузка - один из вариантов здесь:

# from your branch 'feature'
git reset origin/feature

Это приведет к сбросу вашей локальной ветки feature на локальную версию отслеживания origin/feature. Эта ветвь отслеживания будет синхронизирована c с истинной удаленной ветвью отслеживания, если вы сделали git fetch в последнее время. Если вы не уверены, попробуйте сначала загрузить:

# again, from 'feature'
git fetch origin
git reset origin/feature
...