Когда следует использовать git stash save вместо git stash push и наоборот?
Какая разница между git сохранением закладок и git нажатием кнопки?
Ответ 1
git stash save принимает один необязательный аргумент - сообщение о пробеле.
git stash push принимает сообщение с опцией -m и принимает список файлов, которые нужно хранить в качестве аргументов.
Ответ 2
Просто чтобы быть ясным, начиная с Git 2.15/2.16 (Q1 2018), git stash save устарела в пользу git stash push (хотя git stash save все еще доступен в настоящее время).
См. commit c0c0c82, commit fd2ebf1, commit db37745 (22 октября 2017) автором: Томас Гаммерер (tgummerer).
.
(Merged by Junio C Hamano -- [TG44] -- in commit 40f1293, 06 Nov 2017)
stash: пометка "git stash save" устарела на странице руководства"
git stash push" исправляет историческую бородавку в интерфейсе "git stash save".
Поскольку "git stash push" обладает всеми функциями "git stash save", с более приятным и согласованным пользовательским интерфейсом не рекомендуется "git stash save".
stash: убрать теперь справку по лишним для "stash push"Благодаря интерфейсу
git stash saveпользователи легко могли попробуйте добавить сообщение, которое будет начинаться с "-", которое "git stash save" будет интерпретироваться как аргумент командной строки и потерпит неудачу.
Для этого случая мы добавили дополнительную справку о том, как создать stash с сообщением, начинающимся с "-".Для '
stash push' сообщения передаются с флагом-m, чтобы избежать этой потенциальной ловушки.
Теперь только пути, начинающиеся с "-", должны отличаться от параметров командной строки с помощью "-- --<pathspec>".
Это довольно часто встречается в интерфейсе командной строки git, и мы не пытаемся угадать, что пользователи хотели в других случаях.Поскольку этот способ передачи спецификаций пути довольно распространен в других командах git, и мы не предоставляем там никакой дополнительной помощи, сделайте то же самое в сообщении об ошибке для '
git stash push'.
В Git 2.18 (Q2 2018) завершение командной строки (в contrib/) научили, что "git stash save" устарело ("git stash push" является предпочтительным написанием в новом мире) и не предлагает его как возможно
Кандидат на завершение, когда "git stash push" может быть.
См. commit df70b19, commit 0eb5a4f (19 апреля 2018) от Томаса Гуммерера (tgummerer).
(Merged by Junio C Hamano -- [TG428] -- in commit 79d92b1, 08 May 2018)
completion: сделатьstash -pи псевдоним дляstash push -pМы определяем "
git stash -p" как псевдоним для "git stash push -p" в страница руководства. Сделайте то же самое в сценарии завершения, так что все параметры, которые может быть дано для 'git stash push' завершаются, когда пользователь используя 'git stash -p --<tab>'.
В настоящее время единственным дополнительным параметром, который получает пользователь, является "--message", но в будущем их может быть больше.