мои псевдонимы git: wip, uncommit и unammed

В предыдущем посте я рассказал о псевдонимах amend и append.

Здесь я расскажу о других полезных псевдонимах.

[alias]
    wip =      commit --message 'wip' --no-verify
    uncommit = reset --soft "HEAD~1"
    unamend =  reset --soft "HEAD@{1}" 
Войти в полноэкранный режим Выйти из полноэкранного режима

Эти синтаксисы отличаются от HEAD^1, я никогда не помню их, или что они означают. Так что псевдонимы определенно полезны.

wip

коммит с простым сообщением и обход git hook, если таковые имеются.

Как использовать

Это можно использовать для фиксации

  • поэтапных файлов
git add foo/bar
git wip
Войти в полноэкранный режим Выйти из полноэкранного режима
  • файл(ы), переданные в параметре o
git wip foo/bar
Ввести полноэкранный режим Выйти из полноэкранного режима
  • или все
git wip -a
Ввести полноэкранный режим Выйти из полноэкранного режима

Таким же образом вы могли использовать git commit -a.

Когда вам нужен wip?

  • когда у вас есть локальные изменения, которые вы хотите зафиксировать в текущей ветке перед переключением на другую.
  • в некоторых случаях при пересборке, когда вы знаете, что у вас будут конфликты.

uncommit

Помогает снять фиксацию последних зафиксированных изменений.

Обратите внимание, что при этом ваш коммит будет сброшен, а сообщение о коммите будет потеряно.

Поэтому вы можете использовать git log --format="%B" -n 1 перед запуском git uncommit.

Как использовать

git uncommit
Войти в полноэкранный режим Выйти из полноэкранного режима

не требуется никаких параметров

когда вам нужен uncommit?

  • Когда вы использовали git wip и хотите снять фиксацию.

То есть вы зафиксировали что-то, сменили ветку, сделали что-то, затем вернулись к ветке, где использовали git wip.

  • когда вы знаете, что ваш последний коммит — дерьмо

unamend

Как использовать

git unamend
Войти в полноэкранный режим Выйти из полноэкранного режима

не требуется никаких параметров

когда вам понадобится unamend?

  • когда вы добавили изменения в коммит, но допустили ошибку.

поэтому вы сделали что-то вроде этого

git commit filea
git amend folderb fileb
Войти в полноэкранный режим Выйти из полноэкранного режима

здесь вы заметили, что допустили ошибку, но вы не хотите использовать uncommit, который уничтожит сообщение о фиксации и первый коммит, вы хотите только восстановить состояние до использования git amend.

Поэтому вы можете просто набрать следующее.

git unamend
Войти в полноэкранный режим Выйти из полноэкранного режима

И вы вернётесь в состояние, в котором были до внесения поправок.

Затем вы можете использовать git reset fileb или git reset -p, чтобы удалить некоторые файлы или изменения из индекса.

Примечание: git unamend отлично работает для отмены изменений git append, так как единственная разница с git amend заключается в том, что вы могли обновить сообщение о фиксации или нет.

Оцените статью
devanswers.ru
Добавить комментарий