Подтвердить что ты не робот

Git вернуть локальную фиксацию

У меня есть репозиторий git, связанный с phpstorm на окнах. Я совершил несколько изменений, а затем подтолкнул их к нашему "центральному репо". После этого я сделал еще несколько попыток. Я больше не хочу, чтобы эти коммиты не были перенесены на центральный репо. Как очистить мою рабочую копию так же, как центральное репо (происхождение)?

4b9b3361

Ответ 1

git reset --hard remotes/origin/HEAD

Ответ 2

git reset --hard remotes/origin/YOUR/BRANCH

лучше, чем /HEAD, потому что вы не увидите этого:

$ git status
On branch MY/BRANCH
Your branch and 'origin/MY/BRANCH' have diverged,
and have 1 and 1 different commit each, respectively.

Ответ 3

Если вы уверены в этом и не имеете никаких локальных незафиксированных изменений:

git reset --hard origin/master

где origin/master - это ветвь, на которую вы нажали.

Реф-журнал по-прежнему будет содержать возвращенные биты, пока сбор мусора не истечет. Чтобы вернуться назад,

git reset --hard [email protected]{1}

Ответ 4

Вы можете вернуть локальную фиксацию на

git reset HEAD~N

где N используется для возврата числа коммитов. Пример:

если вам нужно вернуть одиночную фиксацию из локальной, то вы можете использовать

git reset HEAD~1

или   git reset HEAD ^

Ответ 5

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

Чтобы удалить/вернуть локальную фиксацию,

git reset HEAD~{number_of_commit}

просто, вы нажмете git log в командной строке и получите список коммитов. Посмотрите, сколько фиксаций вы создали сейчас и сколько вам нужно вернуть.

например, вам нужно удалить. верните две последние фиксации, а затем нажмите

git reset HEAD~2

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

:

git reset --hard remotes/origin/HEAD