Есть ли команда git stash
, которая задерживает ваши изменения, но также сохраняет их в рабочем каталоге? Итак, в основном a git stash; git stash apply
за один шаг?
Изменение штампа при сохранении изменений в рабочем каталоге в Git
Ответ 1
Для чего это стоит, другой способ сделать это - выполнить изменения, которые вы хотите сохранить, а затем спрятать все, используя --keep-index
:
$ git add modified-file.txt
$ git stash save --keep-index
В приведенных выше командах будут сохранены все, включая modified-file.txt
, но он также оставит этот файл в рабочем каталоге.
Из официальной документации ядра Linux Git для git stash
:
Если используется опция
--keep-index
, все изменения, уже добавленные в индекс, остаются нетронутыми.
Ответ 2
git stash
, а затем git stash apply
(git stash && git stash apply
) будет спрятать файлы и сразу же применить табуляцию. Так что в конце концов вы будете иметь свои изменения в тайнике и в рабочем директоре. Вы можете создать псевдоним, если хотите его в одной части. Просто поставьте что-то вроде этого ~/.gitconfig
:
[alias]
sta = "!git stash && git stash apply"
Ответ 3
Небольшое усиление ответа, которое в практическом плане может использовать.
$ git add modified-file.txt
(OR $ git add . ---- for all modified file)
$ git stash save --keep-index "Your Comment"
Ответ 4
Там трюк может помочь вам, а не спрятать, но FWIW:
git add -A
git commit -m "this is what called stashing" (create new stash commit)
git tag stash (mark the commit with 'stash' tag)
git reset HEAD~ (Now go back to where you've left with your working dir intact)
Итак, теперь у вас есть привязанный тэг с фиксацией, в любом случае невозможно сделать git stash pop
, но вы можете делать такие вещи, как создание патчей или перезагрузка файлов и т.д. оттуда, ваши рабочие файлы dir также остаются нетронутыми КСТАТИ.