Как вспомнить заданный коммит за 1 неделю до? - PullRequest
0 голосов
/ 30 декабря 2018

Моя локальная история коммитов:

commit 5
commit 4
commit 3
commit 2
commit 1

История удаленных коммитов сервера gitlab:

commit 3
commit 2
commit 1

commit 2 отправлена ​​на сервер gitlab 1 неделю назад.
СейчасЯ знаю, commit 2 не следует коммитить, потому что все содержимое - tmp-файлы Apache.
Как удалить или отменить commit 2?
Я новичок в git, заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 30 декабря 2018

Есть несколько способов справиться с этим:

Способ 1: извлеките последний код и удалите diff из коммита 2, diff можно увидеть в коммите 2 на GitHub (простой способ) в случае конфликтов исправьте это.

Способ 2: отменить коммит до коммита 2 минус 1 и подбирать другой набор изменений коммита (немного сложнее зависит от набора изменений после коммита 2)

0 голосов
/ 30 декабря 2018

Самый безопасный способ сделать это, вероятно, git revert 2-й коммит.Сначала наберите git log в вашей ветке, которая должна вызвать что-то вроде этого:

f83j2l8f commit 5 comment
439gm93f commit 4 comment
lsm382fs commit 3 comment
lm93nd82 commit 2 comment
9rnj1iu3 commit 1 comment

Найдите хэш SHA-1 для второго коммита, который в приведенном выше примере равен lm93nd82.Хеш SHA-1 обычно будет выглядеть как действительно длинная неразборчивая строка.Теперь все, что вам нужно сделать, это:

git revert lm93nd82

Это создаст новый коммит поверх вашей ветви, который функционально отменит / сотрет все, что было введено во втором коммите.,Теперь просто нажмите на вашу ветку, как обычно:

git push origin your_branch

Теперь удаленный должен показать новый коммит в HEAD, и изменения, которые были введены во втором коммите, должны быть пропущены.

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