GIT. Как отменить локальные изменения не вошедние в последний коммит? (git status) Чтобы можно было сделать нормальный git pull новой ветки и отменить изменения файлов без коммита?

1. Отменить изменения в конкретном файле:

git checkout -- <имя_файла>Code language: HTML, XML (xml)

Эта команда вернёт файл к состоянию, в котором он был в последнем коммите.

2. Отменить все изменения в рабочей директории:

git checkout -- .

(Вернёт все изменённые файлы к состоянию последнего коммита.)

3. Отменить все изменения, включая новые (неотслеживаемые) файлы:

git clean -df  # удаляет неотслеживаемые файлы и директории
git checkout -- .  # сбрасывает изменения в отслеживаемых файлахCode language: PHP (php)

⚠️ git clean -df безвозвратно удалит все неотслеживаемые файлы, так что убедитесь, что они вам не нужны!

4. Сбросить все изменения, включая проиндексированные (добавленные в git add, но не закоммиченные):

git reset --hard

Эта команда:

  • Сбросит изменения в рабочей директории.
  • Удалит все изменения из индекса (git add).
  • Не затронет неотслеживаемые файлы (новые файлы, которые ещё не добавлены в Git).

Если нужно также удалить неотслеживаемые файлы, добавьте:

git clean -df

После этого можно безопасно сделать git pull:

git pull origin <имя_ветки>Code language: HTML, XML (xml)

Важно:

  • git reset --hard и git clean -df безвозвратно удаляют изменения, поэтому убедитесь, что они вам не нужны.
  • Если есть ценные изменения, можно создать временный коммит или использовать git stash:
  git stash  # сохраняет изменения во временное хранилище
  git pull origin <ветка>
  git stash pop  # возвращает изменения (может вызвать конфликты)Code language: PHP (php)

От admin

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *