Чи є спосіб повернути або скасувати потягнення git, щоб моє джерело / репортаж прийшло до старого стану, який був до того, як робити git pull? Я хочу це зробити, тому що він об'єднав деякі файли, які я не хотів робити, а лише об'єднав інші файли, що залишилися. Отже, я хочу отримати ці файли назад, чи це можливо?
EDIT: Я хочу скасувати git merge для уточнення. Побачивши кілька відповідей, я це зробив
git reflog
bb3139b... HEAD@{0}: pull : Fast forward
01b34fa... HEAD@{1}: clone: from ...name...
Тепер, що мені робити? Це git reset --hard
добре? Я не хочу його знову вкручувати, тому запитуючи детальні кроки?
git reflog
покаже все, що було зроблено з git. Існує занепокоєння, яке git reset --hard [sha1 of something from reflog]
поверне все, що показано в reflog
, що іноді не є ціллю, наприклад. ви хочете повернути злиття на головну гілку, витягнуту з походження з поганими даними (трапляється), і після цього злиття ви працювали над іншими гілками. reflog
покаже кожну клітку на інших гілках. Але git checkout master
і git reset --hard [SH1 of commit on master branch just before merge]
буде скинути лише поточну головну гілку, видаливши витягнуте злиття з походження.
git reset --hard 01b34fa
у цьому випадку ви могли б зробити,git reset --hard HEAD^
що скидає одну команду перед головою.