Отменить "Отмена запроса на удаление" - PullRequest
0 голосов
/ 17 сентября 2018

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

Обратите внимание, что некоторые коммиты были добавлены после реверсии

Я думаю об использовании пользовательского интерфейса Github для повторного возвратапредыдущий возврат, но я не уверен, что это будет делать, не могу найти никакой документации, относящейся к этому.

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

ed3240aa (HEAD -> version/2, origin/version/2) Merge branch 'version/2' of github.com:umbrella/app into version/2
8d7b6a8f Bump version of app
8b268172 Fix error in condition for disavowing excluded alerts
a12eca40 Point app to staging
5c83c0bb Merge pull request #1090 from umbrella/revert-1088-add-sentiment   // Merge PR with reversion
3ab766fc Revert "Add sentiment insight"                                     // Revert happened here
132a9e64 Merge pull request #1089 from umbrella/nana_sources
acaec5e0 Merge branch 'version/2' into nana_sources
881925d7 - finished showing the dimension sources
df0b0ead Merge pull request #1088 from umbrella/add-sentiment
5bc3165d Merge pull request #1087 from umbrella/sync-exclude
c6936a2e (origin/sync-exclude, sync-exclude) Remove spurious logs

1 Ответ

0 голосов
/ 17 сентября 2018

Когда вы возвращаетесь, git создает новый коммит, который содержит «противоположность» отозванного коммита. Например, допустим, вы делаете git revert 39f5, тогда у вас есть это:

* 8998 (HEAD -> master) Revert "Do stuff that is needed"
* 39f5 Do stuff that is needed
* 8573 First commit

Коммит 8998 - это возврат, но он по-прежнему нормальный. Он просто содержит «противоположность» как 39f5. Это так же, как если бы вы отменили все изменения вручную.

Так что, если вы продолжите работать, всей работы в 39f7 больше не будет! Если вы делаете запрос на извлечение, это не входит. Если вы хотите, чтобы он был включен, у вас есть два варианта:

  1. Вы можете отменить возврат. git revert 8998 избавит от возврата, и вы вернете свои первоначальные изменения (в которых есть ошибки). Затем исправьте ошибки в другом коммите и выполните ваш запрос на извлечение.

  2. Вы можете сбросить возврат. git reset 39f5 вернется к фиксации 39f5 и «сотрет» возврат. Его больше не будет в вашей истории, и поэтому все изменения в 39f5 будут там. Снова исправьте ошибки в другом коммите и выполните запрос на извлечение.

Если вы новичок в git, я рекомендую вариант 1, потому что он более щадящий - изменения остаются в вашей истории, и вы можете вернуться к ним, если вы все испортили. Когда у вас будет больше опыта работы с git, вы узнаете, что больше подходит между вариантом 1 и вариантом 2, и сможете поиграть с ним немного больше.

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