Как мне & ldquo; un-revert & rdquo; возвращенный Git совершить?

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

Для этого используйте свойства window.innerWidth и window.innerHeight. См. его в w3schools .

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

373
задан JimmidyJoo 29 January 2014 в 18:17
поделиться

9 ответов

Если вы еще не отменили это изменение, git reset --hard HEAD^

В противном случае, откат возврата вполне подойдет.

Другой способ заключается в git checkout HEAD^^ -- ., а затем git add -A && git commit.

301
ответ дан Community 29 January 2014 в 18:17
поделиться

Обратный коммит, как и любой другой коммит в git. Это означает, что вы можете отменить его, как в:

git revert 648d7d808bc1bca6dbf72d93bf3da7c65a9bd746

Это, очевидно, имеет смысл только после того, как изменения были перенесены, особенно когда вы не можете принудительно нажать на целевую ветвь (что является хорошей идеей для ваш мастер филиал). Если изменение не было выдвинуто, просто выполните cherry-pick, отмените или просто удалите фиксацию возврата, как в других публикациях.

В нашей команде есть правило использовать revert для комментариев Revert, которые были зафиксированы в основной ветке, в первую очередь, чтобы сохранить историю чистой, чтобы вы могли видеть, какие коммиты возвращаются Что:

      7963f4b2a9d   Revert "Revert "OD-9033 parallel reporting configuration"
      "This reverts commit a0e5e86d3b66cf206ae98a9c989f649eeba7965f.
                    ...
     a0e5e86d3b6    Revert "OD-9055 paralel reporting configuration"
     This reverts commit 648d7d808bc1bca6dbf72d93bf3da7c65a9bd746.
                ...
     Merge pull request parallel_reporting_dbs to master* commit 
    '648d7d808bc1bca6dbf72d93bf3da7c65a9bd746'

Таким образом, вы можете проследить историю и выяснить всю историю, и даже те, кто не знает о наследии, могут решить это для себя. Принимая во внимание, что если вы cherry-pick или перебазируете материал , эта ценная информация будет потеряна (если вы не включите ее в комментарий).

Очевидно, что если коммит возвращался и возвращался более одного раза, это становится довольно грязным.

12
ответ дан Nestor Milyaev 29 January 2014 в 18:17
поделиться

Возврат отката сделает свое дело

Например,

If abcdef is your commit and ghijkl is the commit you have when you reverted the commit abcdef,

Затем введите

git revert ghijkl

Это вернет возврат

4
ответ дан Rafeeque KP 29 January 2014 в 18:17
поделиться

Это выглядит глупо для меня. Но я был в той же ситуации, и я вернулся к отмененным коммитам. Я сделал возврат чисел, поэтому мне приходилось делать возврат для каждого «возврата фиксации».

Теперь моя история коммитов выглядит немного странно.

weird history

Это любимый проект, так что все в порядке. Но для реального проекта я бы предпочел перейти к последнему коммиту, прежде чем вернуться, чтобы восстановить весь возвращенный код вместе в одном коммите и более разумном комментарии.

2
ответ дан RredCat 29 January 2014 в 18:17
поделиться

Или вы можете git checkout -b <new-branch> и git cherry-pick <commit> перед тем и git rebase отбросить revert коммит. отправить запрос на получение, как и раньше.

2
ответ дан Ryan Chou 29 January 2014 в 18:17
поделиться

git cherry-pick <original commit sha>
Сделает копию исходного коммита, по существу, повторно применяя коммит

Отмена возврата сделает то же самое, с более сложным сообщением коммита:
git revert <commit sha of the revert>

Любой из этих способов позволит вам git push без перезаписи истории, поскольку он создает новый коммит после возврата.
При вводе коммита sha обычно вам нужны только первые 5 или 6 символов:
git cherry-pick 6bfabc

368
ответ дан Stephan 29 January 2014 в 18:17
поделиться

Если вам не нравится идея «отменить возврат» (особенно, когда это означает потерю хронологической информации для многих коммитов), вы всегда можете обратиться к документации git о «Возврат ошибочного слияния» .

Учитывая следующую исходную ситуацию

 P---o---o---M---x---x---W---x
  \         /
   A---B---C----------------D---E   <-- fixed-up topic branch

(W - ваш начальный возврат слияния M; D и E - исправления к вашей изначально поврежденной ветви / коммиту)

Вы можете теперь просто воспроизводим коммиты от A до E, так что ни один из них не «принадлежит» к обратному слиянию:

$ git checkout E
$ git rebase --no-ff P

Новая копия вашей ветви теперь может быть снова объединена с master:

   A'---B'---C'------------D'---E'  <-- recreated topic branch
  /
 P---o---o---M---x---x---W---x
  \         /
   A---B---C----------------D---E
1
ответ дан NobodysNightmare 29 January 2014 в 18:17
поделиться

Чтобы вернуть неустановленные и поэтапные изменения, которые были отменены после фиксации:

git reset HEAD@{1}

Чтобы восстановить все неустановленные удаления:

git ls-files -d | xargs git checkout --
0
ответ дан jkdev 29 January 2014 в 18:17
поделиться

Вот как я это сделал:
Если ветвь my_branchname была включена в слияние, которое было отменено. И я хотел отменить my_branchname:

Я сначала делаю git checkout -b my_new_branchname из my_branchname.
Затем я делаю git reset --soft $COMMIT_HASH, где $COMMIT_HASH - хеш коммита права коммита до первого коммита my_branchname (см. git log)
. Затем я делаю новый commit git commit -m "Add back reverted changes"
Затем я поднимаю новую ветвь git push origin new_branchname
Затем я сделал запрос на извлечение новой ветки.

2
ответ дан Drew LeSueur 29 January 2014 в 18:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: