Volver a commit anterior

Trabajo en un branch llamado master2, el asunto es que hice pequeños cambios en 1 archivo y al intentar subirlos, cometi un error e hice git pull origin master y al hacer push me aparecieron casi todos los archivos del repositorio con conflicto, intente resolverlos pero no hubo caso. Necesito volver a la ultima version estable del repositorio o si es que se puede, revertir los cambios o eliminar los commits

EDICION

Hay 4 commits despues del que quisiera volver, se pudiera volver 4 commits antes?

13
задан 29.12.2016, 13:38
1 ответ

Ты можешь возвращаться в старую ревизию используя checkout и перемещая hash commit. Например:

git checkout ab25f1ln2b4o3a9c4u1v6k4n1m7 .

Не забывай точку в конце концов. Также ты можешь отказываться от изменений посредством reset перемещая его число commits. Например, чтобы отказываться последние от 3 commits:

git reset --hard HEAD~3

Различие между checkout и reset дело в том, что в последнем отказываются ревизии, в то время как с checkout они предохраняются.

16
ответ дан 03.12.2019, 17:56
  • 1
    я буду обновлять мой вопрос –  29.12.2016, 13:37
  • 2
    В твоем edició n, ¿ ты спрашиваешь, если ты можешь revertir эти 4 commits? –  29.12.2016, 13:44
  • 3
    точный, у меня есть commit, в который я хочу направить, проверить, что tooodo я функционировал правильно, и обновлять branch в этот commit –  29.12.2016, 13:45
  • 4
    Ahí я обновил мой ответ añ adiendo info добавочный. С reset уже ты не имеешь opció n, ты теряешь твои commits. Я не думаю, что revert он служит тебе немного aquí –  29.12.2016, 13:53
  • 5
    Превосходный твоя помощь. Только, добавлять, что, после возвращаясь в предыдущую версию, я сделал merge с кодом другого разработчика, и я остаюсь совсем обновленным. –  30.05.2018, 17:44

В твоем случае конечно ты не хочешь поддержать изменения тогда:

git reset --hard HEAD~3

Или просто используй id commit:

git checkout <id commit>

Если ты хочешь поддержать изменения и направить 4 commits раньше:

git reset [--mixed] HEAD~3

Если ты только хочешь двинуть head в 4 изменения раньше:

git reset --soft HEAD~3
3
ответ дан 03.12.2019, 17:56
  • 1
    захотев поддержать изменения (это гипотетический случай) зная, что в последнем commit есть ошибки в моей системе, как я могу отличать изменения? я отношусь в как знание, что изменения оставлять, и что изменения удалять? –  29.12.2016, 14:05

Ты можешь возвращаться к последнему commit ветви с git reset --hard (он подтверждает, что ты находишься в правильной ветви с git status).

Также ты можешь видеть твои предыдущие commits с git log и выбирать один из этих commits с git checkout codigo_del_commit.

К сожалению ты будешь должен искать стабильную версию твоего проекта посредством старых commits, (git он использует commits как точки сохраняемые).

Если ты не сохраняешь игру, и они убивают тебя, ты повторно живешь в последней точке, где ты сохранял

2
ответ дан 03.12.2019, 17:56
  • 1
    Спасибо за твой ответ, консультацию, мне ясно каков это commit, в который я хочу вернуться. В этом случае я не подался бы git reset, так как последний commit ошибочный. Вернувшись с git checkout и увидев, что эта функция стабильная, я могу делать commit для того, чтобы branch остался с этой версией? –  29.12.2016, 13:44
  • 2
    если, ты можешь делать один git commit -m "texto" и делать commit над ошибочным –  29.12.2016, 13:53
  • 3
    друг большое спасибо из-за твоей помощи! +1 для тебя –  29.12.2016, 13:59

чтобы возвращаться, не используя reset (отказываясь от всего того, что ты сделал в этих commits) используй

git revert el-hash-del-commit 

или ты можешь использовать

git revert HEAD

, чтобы возвращать 1 commit с head, куда ты указываешь (также ты можешь использовать HEAD~2) на

0
ответ дан 03.12.2019, 17:56

Теги

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