НейроАгент

Как просмотреть содержимое Git Stash без применения

Узнайте, как просматривать содержимое Git stash без применения с помощью команды git stash show. Проверяйте изменения, сравнивайте stash и принимайте обоснованные решения перед применением сохраненной работы.

Вопрос

Как просмотреть содержимое Git stash, не применяя его?

НейроАгент

Чтобы просмотреть содержимое Git stash без его применения, можно использовать команду git stash show, которая отображает изменения, сохраненные в ваших stash, без фактического применения их в рабочей директории. Эта команда позволяет проверить, какие файлы были изменены и какие изменения были сделаны, прежде чем решать, применять или удалять stash.

Содержание

Базовые команды просмотра stash

Основная команда для просмотра содержимого stash - это git stash show. По умолчанию эта команда отображает сводку изменений в самом свежем stash (stash@{0}).

bash
git stash show

Эта команда покажет вам:

  • Какие файлы были изменены
  • Количество вставок и удалений для каждого файла
  • Основной обзор изменений без отображения фактического содержимого diff

Если вы хотите увидеть фактические изменения в формате патча, используйте опцию -p или --patch:

bash
git stash show -p

Это отображает полный вывод diff, аналогичный git diff, показывая точно, какие изменения сохранены в stash.

Перечисление нескольких stash

Когда у вас несколько stash, вы можете перечислить их все, чтобы увидеть, какие из них вы хотите осмотреть:

bash
git stash list

Эта команда показывает все ваши stash с временными метками их создания, помогая определить, какой stash содержит нужные вам изменения.

Чтобы просмотреть определенный stash по имени или ссылке:

bash
git stash show stash@{1}      # Просмотреть второй stash
git stash show my-feature-stash  # Просмотреть stash с пользовательским именем

Детальный осмотр stash

Для получения более подробной информации о stash можно объединить несколько опций:

bash
git stash show -p --stat

Опция --stat показывает сводку изменений со статистикой по каждому файлу, в то время как -p отображает фактический патч. Также можно использовать:

  • git stash show --name-only - Показывает только имена измененных файлов в stash
  • git stash show --include-untracked - Показывает неотслеживаемые файлы в stash (при использовании с -p)

Просмотр определенных файлов в stash

Вы можете просмотреть изменения в определенных файлах внутри stash, указав имена файлов:

bash
git stash show -p -- path/to/file.js
git stash show -p -- src/components/Header.jsx

Это особенно полезно, когда вы хотите проверить изменения только в определенных файлах, а не во всем содержимом stash.

Практические примеры и случаи использования

Пример 1: Перед применением stash

bash
# Перечислить все 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, чтобы увидеть, какие изменения были сделаны:

bash
git stash show stash@{0} --stat
git stash show stash@{1} --stat

Пример 3: Проверка неотслеживаемых файлов

Когда вы сохранили неотслеживаемые файлы в stash:

bash
git stash show -p --include-untracked

Источники

  1. Pro Git Book - Stashing
  2. Atlassian Git Tutorial - Stashing
  3. Git Documentation - git-stash

Заключение

Просмотр содержимого Git stash без его применения осуществляется с помощью команды git stash show. Ключевые выводы:

  • Используйте git stash show для базового обзора самого свежего stash
  • Добавьте -p или --patch, чтобы увидеть фактические изменения в формате diff
  • Используйте git stash list, чтобы увидеть все ваши stash и их ссылки
  • Вы можете просматривать определенные файлы, добавив пути к команде
  • Объединяйте опции, такие как --stat и --name-only, для разных форматов просмотра

Эти команды помогают принимать обоснованные решения о том, какие stash применять, изменять или удалять, предоставляя полный контроль над сохраненными изменениями перед их интеграцией в рабочую директорию.