Ответ 1
Это относится к Git в целом, а не только к SourceTree. Когда вы сохраняете изменения, элементы, которые будут спрятаны, - это изменения отслеживаемых файлов в вашей рабочей копии и в промежуточной области. Эти изменения будут сохранены в тире и будут возвращены в рабочей копии и индексе.
Когда вы решите сохранить изменения в области индекса/промежуточной области, эти изменения все равно будут сохранены, но Git также не вернет их в промежуточной области. Это полезно, если, например, вы делаете несколько несвязанных изменений, и вы хотите запускать тесты только с некоторыми из этих изменений, не влияя на те, которые не связаны друг с другом.
Скрытие безопасно. Если вы хотите вернуть свои спрятанные изменения, вы просто выкидываете их из кошелька.
Однако не проверенные файлы обычно не спрятаны. Если вы хотите также скопировать эти файлы, вам нужно передать дополнительную опцию git stash
в командной строке (у SourceTree для Windows в настоящее время нет такой опции. Я не знаю, соответствует ли то же самое для Mac версия):
git stash save --include-untracked
# Or shorter
git stash save -u
См. также
- Официальная документация ядра Linux для
git stash
.