Вернуть коммиты после нажатия на git - PullRequest
0 голосов
/ 17 октября 2019

Я совершил много вещей, которые не хочу использовать, и использовал

git checkout ""

, чтобы вернуться к тому, на котором я хочу быть. Как мне удалить другие? И как мне выйти из отсоединенной ГОЛОВКИ? Я выдвинул все коммиты, и, думаю, это усложняет то, что я уже видел относительно решений.

Ответы [ 4 ]

0 голосов
/ 17 октября 2019

Вот один из вариантов:

// tell those impacted not use name_of_old_branch 
git checkout -b feature/yeah1 // create a new branch from where you are
git push // push new branch
// tell those impacted to use new branch
// you can stop here and enjoy life
git push -d origin name_of_old_branch // delete remote branch
git branch -d name_of_old_branch  // delete local
//enjoy life

Обратите внимание, что действительно удаление вещей в git требует больше работы.

0 голосов
/ 17 октября 2019

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

0 голосов
/ 17 октября 2019

Если вы нажали на основную ветку: Вы можете отменить свои изменения, добавив новый коммит, содержащий обратный дифференциал ваших изменений, т.е. используя git revert <unwanted_commit_number>

Если вынажал на «ветку незавершенного производства»:

  • Вы можете использовать вернуть как указано выше (безопасно для истории)
  • Вы можете изменить ваш последний коммит, чтобы добавить / удалить некоторые изменения, используя git commit --amend и принудительное нажатие (/! \ rewrite history)
  • Вы можете удалить ваш коммит, т.е. используя интерактивное перебазированиеgit rebase -i <base_commit_number>^. Удалите ненужные коммиты в интерактивном окне и принудительно нажмите (/! \ Переписать историю)
  • Вы можете вернуться в предыдущее состояние, используя git reset ---hard <commit_number>, и принудительно нажать (/! \ Переписать историю)

Выйти из отсоединенного состояния HEAD:

  • Если вы пришли из кассы, например git checkout <commit_number> или git checkout remote/some_branch, вы можете создать новыйветвь с использованием git branch <branch_name>

  • Если нет, вы можете иметь слияние или ребаз , который выполняется. Используя git merge --abort или git rebase --abort, чтобы вернуться к предыдущей ветви

0 голосов
/ 17 октября 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...