Как просмотреть содержимое Git stash, не применяя его?
Чтобы просмотреть содержимое Git stash без его применения, можно использовать команду git stash show, которая отображает изменения, сохраненные в ваших stash, без фактического применения их в рабочей директории. Эта команда позволяет проверить, какие файлы были изменены и какие изменения были сделаны, прежде чем решать, применять или удалять stash.
Содержание
- Базовые команды просмотра stash
- Перечисление нескольких stash
- Детальный осмотр stash
- Просмотр определенных файлов в stash
- Практические примеры и случаи использования
Базовые команды просмотра stash
Основная команда для просмотра содержимого stash - это git stash show. По умолчанию эта команда отображает сводку изменений в самом свежем stash (stash@{0}).
git stash show
Эта команда покажет вам:
- Какие файлы были изменены
- Количество вставок и удалений для каждого файла
- Основной обзор изменений без отображения фактического содержимого diff
Если вы хотите увидеть фактические изменения в формате патча, используйте опцию -p или --patch:
git stash show -p
Это отображает полный вывод diff, аналогичный git diff, показывая точно, какие изменения сохранены в stash.
Перечисление нескольких stash
Когда у вас несколько stash, вы можете перечислить их все, чтобы увидеть, какие из них вы хотите осмотреть:
git stash list
Эта команда показывает все ваши stash с временными метками их создания, помогая определить, какой stash содержит нужные вам изменения.
Чтобы просмотреть определенный stash по имени или ссылке:
git stash show stash@{1} # Просмотреть второй stash
git stash show my-feature-stash # Просмотреть stash с пользовательским именем
Детальный осмотр stash
Для получения более подробной информации о stash можно объединить несколько опций:
git stash show -p --stat
Опция --stat показывает сводку изменений со статистикой по каждому файлу, в то время как -p отображает фактический патч. Также можно использовать:
git stash show --name-only- Показывает только имена измененных файлов в stashgit stash show --include-untracked- Показывает неотслеживаемые файлы в stash (при использовании с-p)
Просмотр определенных файлов в stash
Вы можете просмотреть изменения в определенных файлах внутри stash, указав имена файлов:
git stash show -p -- path/to/file.js git stash show -p -- src/components/Header.jsx
Это особенно полезно, когда вы хотите проверить изменения только в определенных файлах, а не во всем содержимом stash.
Практические примеры и случаи использования
Пример 1: Перед применением stash
# Перечислить все stash
$ git stash list
stash@{0}: On feature-branch: WIP on feature-branch: abc1234 Add user authentication
stash@{1}: On main: WIP on main: def5678 Fix navigation menu
# Просмотреть детали самого свежего stash
$ git stash show -p
diff --git a/src/components/Login.jsx b/src/components/Login.jsx
index a1b2c3d..e4f5g6h 100644
--- a/src/components/Login.jsx
+++ b/src/components/Login.jsx
@@ -10,6 +10,10 @@ function Login() {
const [password, setPassword] = useState('');
const [error, setError] = useState('');
+ const handleSubmit = (e) => {
+ e.preventDefault();
+ // Authentication logic here
+ };
+
return (
<form onSubmit={handleSubmit}>
{/* Form fields */}
# Просмотреть изменения в определенном файле
$ git stash show -- src/components/Login.jsx
Пример 2: Сравнение stash
Вы можете сравнивать разные stash, чтобы увидеть, какие изменения были сделаны:
git stash show stash@{0} --stat
git stash show stash@{1} --stat
Пример 3: Проверка неотслеживаемых файлов
Когда вы сохранили неотслеживаемые файлы в stash:
git stash show -p --include-untracked
Источники
Заключение
Просмотр содержимого Git stash без его применения осуществляется с помощью команды git stash show. Ключевые выводы:
- Используйте
git stash showдля базового обзора самого свежего stash - Добавьте
-pили--patch, чтобы увидеть фактические изменения в формате diff - Используйте
git stash list, чтобы увидеть все ваши stash и их ссылки - Вы можете просматривать определенные файлы, добавив пути к команде
- Объединяйте опции, такие как
--statи--name-only, для разных форматов просмотра
Эти команды помогают принимать обоснованные решения о том, какие stash применять, изменять или удалять, предоставляя полный контроль над сохраненными изменениями перед их интеграцией в рабочую директорию.