Git

Удаление файла из состояния staged

If you need to remove a single file from the staging area, use

git reset HEAD -- <file>

If you need to remove a whole directory (folder) from the staging area, use

git reset HEAD -- <directoryName>

src: https://stackoverflow.com/questions/1505948/how-do-i-remove-a-single-file-from-the-staging-area-undo-git-add

=================

Работаем с git stash

Полная статья по работе с git stash: https://www.freecodecamp.org/news/git-stash-commands/

Git stash cheat sheet

src: https://gist.github.com/Preethi-Dev/fa8ae46a75761356dc1fa711376c8345

Stash the changes

  1. git stash
  2. git stash save

Stash the untracked files

  1. git stash --include-untracked
  2. git stash -u

List the stashes

  1. git stash list

show the latest stash

  1. git stash show
  2. git stash show -p
  3. git stash show -u
  4. git stash show --include-untracked
  5. git stash show -p -u
  6. git stash show -p --only-untracked

Show the individual stash

  1. git stash show stash@{1}
  2. git stash show stash@{1} -p
  3. git stash show stash@{1} -u
  4. git stash show stash@{1} --include-untracked
  5. git stash show stash@{1} --only-untracked

    Apply the stash

  6. git stash pop
  7. git stash apply
  8. git stash apply stash@{1}

    Delete the stash

  9. git stash clear
  10. git stash drop stash@{2}

    Create branch from stash

  11. git stash branch <branch_name>
  12. git stash branch <branch_name> stash@{revision}

    Руссификатор консоли

    src: https://ru.stackoverflow.com/questions/770949/%D0%A0%D1%83%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F-git-%D0%B2-%D0%BA%D0%BE%D0%BD%D1%81%D0%BE%D0%BB%D0%B8

git config --global core.quotepath false

Добавление отслеживаемого файла в игнорирование

Бывают случаи когда нужно сделать изменения файлов локально, но файлы уже добавлены в отслеживание и постоянно будут "мешать" при подготовке коммитов.
Поэтому я нашел команду которая будет игнорировать отслеживание даже добавленных в индекс файлов (независимо от состояния файла .gitignore)

Получение списка игнорированных файлов

Для начала команда для проверки уже добавленных файлов в игнор (первая буква S означает "skip-worktree")
src: https://stackoverflow.com/questions/11131197/undo-git-update-index-skip-worktree/13568480#13568480

git ls-files -v | grep -i "^S"

Добавление отслеживаемого файла в игнорирование

src: https://stackoverflow.com/questions/1274057/how-can-i-make-git-forget-about-a-file-that-was-tracked-but-is-now-in-gitign

git update-index --skip-worktree <file>

Отмена игнорирования

git update-index --no-skip-worktree <file>