Переместите код в новую локальную ветку, сбросьте мастер и затем нажмите в новую удаленную ветку - PullRequest
0 голосов
/ 22 мая 2018

У меня есть работа над главной веткой (забыл создать новую ветку перед запуском).Теперь я хочу, чтобы этот код существовал в моей новой локальной ветке, сбросил основную ветвь, чтобы она была в состоянии до моей работы, а затем переместил мою новую локальную ветвь в новую удаленную ветвь.Любая помощь?Дайте мне знать, если я не достаточно ясно.

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Поскольку вы сказали, что еще не отправили на удаленный компьютер, я бы рекомендовал сначала выполнить смешанный (по умолчанию) сброс в основной ветви, а затем создать новую.

Я нашел эту веткучаще получить правильный коммит, если они сбрасываются с помощью хеша вместо использования метода head ~ x .Таким образом, запустите git log и найдите коммит, к которому вы хотите откатиться, и скопируйте этот хэш коммита.

Затем git reset commit-hash, чтобы сохранить изменения в вашем рабочем каталоге.Теперь создайте новую ветку и зафиксируйте эти изменения.git checkout -b new-branch; git add . && git commit -m "some message"

Теперь, когда вы вернетесь к мастеру, он будет в той точке, которую вы хотели, и может нажать на ваш пульт.

0 голосов
/ 22 мая 2018

сначала создайте новую ветвь из главного переключателя на главный git checkout master и извлеките в новую ветвь git checkout -b new-branch

если у вас есть незафиксированные файлы, которые передают их, переключитесь обратно на главную и перейдите к фиксацииВы хотите откатиться до того, как коммиты, связанные с работами, должны быть выполнены в новой ветке

используйте git reset commit-hash или git reset HEAD~2 для отката 2 коммитов (хеш коммитов можно увидеть в журналеиспользуя git log), теперь просто нажмите (принудительно) текущую локальную головку в HEAD в источнике git push --force

, будет много файлов upstaged, потому что они находятся в новой ветви, которую вы можете просто отброситьони используют 'git reset --hard` быть очень осторожным , потому что это удалит все изменения в этих файлах, лучше сначала переключиться на новую ветку и проверить, есть ли все изменения

...