<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.ramba-art.ru/index.php?action=history&amp;feed=atom&amp;title=Git_komand</id>
	<title>Git komand - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ramba-art.ru/index.php?action=history&amp;feed=atom&amp;title=Git_komand"/>
	<link rel="alternate" type="text/html" href="https://wiki.ramba-art.ru/index.php?title=Git_komand&amp;action=history"/>
	<updated>2026-10-22T03:12:14Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.ramba-art.ru/index.php?title=Git_komand&amp;diff=166&amp;oldid=prev</id>
		<title>Artem: Новая страница: «&#039;&#039;&#039;Git&#039;&#039;&#039; — система контроля версий. Она позволяет сохранять историю изменений, работать с ветками и обмениваться кодом через удалённый репозиторий, например GitLab или GitHub.  На этой странице собраны команды из памятки &#039;&#039;Git_useful_commands.pdf&#039;&#039; с уточнёнными описаниям...»</title>
		<link rel="alternate" type="text/html" href="https://wiki.ramba-art.ru/index.php?title=Git_komand&amp;diff=166&amp;oldid=prev"/>
		<updated>2026-09-30T13:12:45Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «&amp;#039;&amp;#039;&amp;#039;Git&amp;#039;&amp;#039;&amp;#039; — система контроля версий. Она позволяет сохранять историю изменений, работать с ветками и обмениваться кодом через удалённый репозиторий, например GitLab или GitHub.  На этой странице собраны команды из памятки &amp;#039;&amp;#039;Git_useful_commands.pdf&amp;#039;&amp;#039; с уточнёнными описаниям...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Git&amp;#039;&amp;#039;&amp;#039; — система контроля версий. Она позволяет сохранять историю изменений, работать с ветками и обмениваться кодом через удалённый репозиторий, например GitLab или GitHub.&lt;br /&gt;
&lt;br /&gt;
На этой странице собраны команды из памятки &amp;#039;&amp;#039;Git_useful_commands.pdf&amp;#039;&amp;#039; с уточнёнными описаниями и практическими примерами.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Как устроена работа с Git ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Понятие !! Что означает&lt;br /&gt;
|-&lt;br /&gt;
| Рабочая папка || Файлы проекта, которые вы редактируете.&lt;br /&gt;
|-&lt;br /&gt;
| Индекс (staging area) || Подготовленные изменения для следующего коммита. В индекс попадает состояние файла на момент выполнения &amp;lt;code&amp;gt;git add&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Коммит || Сохранённая версия подготовленных изменений в локальной истории Git.&lt;br /&gt;
|-&lt;br /&gt;
| Ветка || Отдельная линия разработки, например &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; или &amp;lt;code&amp;gt;feature/new-command&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Удалённый репозиторий || Репозиторий на другом компьютере или сервере. Обычно его короткое имя — &amp;lt;code&amp;gt;origin&amp;lt;/code&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Обычная последовательность: &amp;#039;&amp;#039;&amp;#039;изменить файлы → проверить изменения → git add → git commit → git push&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Важно:&amp;#039;&amp;#039;&amp;#039; коммит сохраняет изменения локально. Чтобы отправить коммиты на сервер, нужна отдельная команда &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Проверка и создание репозитория ==&lt;br /&gt;
&lt;br /&gt;
=== git --version — версия Git ===&lt;br /&gt;
&lt;br /&gt;
Показывает установленную версию Git.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== git init — создать локальный репозиторий ===&lt;br /&gt;
&lt;br /&gt;
Инициализирует репозиторий в текущей папке. Создаёт служебный каталог &amp;lt;code&amp;gt;.git&amp;lt;/code&amp;gt;, в котором Git хранит историю и настройки. Файлы проекта автоматически в коммит не попадают.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd my-project&lt;br /&gt;
git init&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Дополнительно: git clone — скачать существующий проект ===&lt;br /&gt;
&lt;br /&gt;
Создаёт локальную копию удалённого репозитория и обычно настраивает для него имя &amp;lt;code&amp;gt;origin&amp;lt;/code&amp;gt;. Замените адрес на URL своего проекта.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://gitlab.example.com/team/my-project.git&lt;br /&gt;
cd my-project&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После &amp;lt;code&amp;gt;git clone&amp;lt;/code&amp;gt; выполнять &amp;lt;code&amp;gt;git init&amp;lt;/code&amp;gt; не требуется.&lt;br /&gt;
&lt;br /&gt;
== Проверка изменений ==&lt;br /&gt;
&lt;br /&gt;
=== git status — состояние проекта ===&lt;br /&gt;
&lt;br /&gt;
Показывает текущую ветку, подготовленные изменения, изменения вне индекса и новые неотслеживаемые файлы. Игнорируемые файлы по умолчанию не выводятся.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git status&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Краткий вариант:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git status -sb&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== git diff — посмотреть изменения ===&lt;br /&gt;
&lt;br /&gt;
Показывает разницу между рабочей папкой и индексом: изменения в отслеживаемых файлах, которые ещё не подготовлены к коммиту.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git diff&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Посмотреть изменения, уже подготовленные к следующему коммиту:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git diff --staged&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Посмотреть изменения конкретного файла вне индекса:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git diff -- README.md&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Обратите внимание:&amp;#039;&amp;#039;&amp;#039; обычный &amp;lt;code&amp;gt;git diff&amp;lt;/code&amp;gt; не показывает содержимое новых неотслеживаемых файлов. Если изменения уже добавлены через &amp;lt;code&amp;gt;git add&amp;lt;/code&amp;gt;, смотрите их через &amp;lt;code&amp;gt;git diff --staged&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Подготовка и сохранение изменений ==&lt;br /&gt;
&lt;br /&gt;
=== git add — подготовить изменения ===&lt;br /&gt;
&lt;br /&gt;
Добавляет в индекс новые файлы, изменения и удаления в указанной области.&lt;br /&gt;
&lt;br /&gt;
Все изменения в текущей папке и её подпапках, кроме игнорируемых неотслеживаемых файлов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git add .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Только выбранный файл:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git add README.md&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Несколько файлов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git add README.md bot/main.py&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если после &amp;lt;code&amp;gt;git add&amp;lt;/code&amp;gt; снова отредактировать файл, новые правки нужно добавить повторно. Перед массовым добавлением проверьте &amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt;, чтобы в коммит не попали пароли, токены или ненужные файлы.&lt;br /&gt;
&lt;br /&gt;
=== git commit -m — сохранить коммит ===&lt;br /&gt;
&lt;br /&gt;
Создаёт локальный коммит из изменений в индексе. Параметр &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; задаёт сообщение с описанием изменений.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git commit -m &amp;quot;Добавлена команда просмотра статистики&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пишите, что именно изменилось. Например: &amp;lt;code&amp;gt;Исправлено переподключение к Telegram&amp;lt;/code&amp;gt; вместо &amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Работа с удалённым репозиторием ==&lt;br /&gt;
&lt;br /&gt;
=== git remote — список подключений ===&lt;br /&gt;
&lt;br /&gt;
Показывает короткие имена настроенных удалённых репозиториев, например &amp;lt;code&amp;gt;origin&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;upstream&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git remote&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== git remote -v — адреса репозиториев ===&lt;br /&gt;
&lt;br /&gt;
Показывает имена и URL для получения изменений (&amp;lt;code&amp;gt;fetch&amp;lt;/code&amp;gt;) и отправки (&amp;lt;code&amp;gt;push&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git remote -v&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для нового проекта, созданного через &amp;lt;code&amp;gt;git init&amp;lt;/code&amp;gt;, подключение можно добавить отдельно. Репозиторий на сервере должен уже существовать:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git remote add origin https://gitlab.example.com/team/my-project.git&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== git push — отправить коммиты на сервер ===&lt;br /&gt;
&lt;br /&gt;
Отправляет локальные коммиты и обновляет соответствующие ветки на сервере согласно параметрам команды и настройкам Git. Незакоммиченные правки не отправляются.&lt;br /&gt;
&lt;br /&gt;
Если для текущей ветки уже настроена связь с удалённой веткой:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git push&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При первой отправке новой ветки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git push -u origin feature/new-command&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Здесь &amp;lt;code&amp;gt;-u&amp;lt;/code&amp;gt; настраивает отслеживаемую удалённую ветку для последующих команд. Замените &amp;lt;code&amp;gt;feature/new-command&amp;lt;/code&amp;gt; на имя своей ветки.&lt;br /&gt;
&lt;br /&gt;
=== git pull — получить и включить изменения ===&lt;br /&gt;
&lt;br /&gt;
Получает изменения с сервера и включает их в текущую ветку. Способ включения зависит от параметров и настроек: слияние, rebase или только fast-forward.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git pull&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для обычного обновления без автоматического создания коммита слияния:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git pull --ff-only&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если локальная и удалённая истории разошлись, &amp;lt;code&amp;gt;--ff-only&amp;lt;/code&amp;gt; остановит обновление. Перед обновлением проверьте &amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt; и сохраните текущую работу коммитом или через &amp;lt;code&amp;gt;git stash&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Просмотр истории ==&lt;br /&gt;
&lt;br /&gt;
=== git log — история коммитов ===&lt;br /&gt;
&lt;br /&gt;
Показывает коммиты, доступные из текущей точки истории: идентификатор, автора, дату и сообщение. Это не только ваши коммиты и не обязательно история всех веток.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git log&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Последние десять коммитов в кратком виде:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git log --oneline -10&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Граф истории по всем локально известным веткам:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git log --oneline --graph --decorate --all&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если вывод открылся в просмотрщике, для выхода обычно используется клавиша &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Работа с ветками ==&lt;br /&gt;
&lt;br /&gt;
=== git branch — локальные ветки ===&lt;br /&gt;
&lt;br /&gt;
Показывает локальные ветки. Текущая ветка отмечена символом &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git branch&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== git branch -a — локальные и удалённые ветки ===&lt;br /&gt;
&lt;br /&gt;
Показывает локальные ветки и локально сохранённые ссылки на удалённые ветки. Команда сама не обращается к серверу.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git branch -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Обновить сведения с &amp;lt;code&amp;gt;origin&amp;lt;/code&amp;gt; и убрать устаревшие ссылки на удалённые ветки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git fetch origin --prune&lt;br /&gt;
git branch -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== git branch NAME — создать ветку ===&lt;br /&gt;
&lt;br /&gt;
Создаёт новую ветку от текущего коммита, но не переключается на неё.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git branch feature/new-command&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== git checkout NAME — переключиться на ветку ===&lt;br /&gt;
&lt;br /&gt;
Переключает текущую ветку и обновляет файлы рабочей папки.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git checkout feature/new-command&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Альтернатива для переключения веток:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git switch feature/new-command&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Создать ветку и сразу переключиться на неё одной командой:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git switch -c feature/new-command&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Используйте либо создание через &amp;lt;code&amp;gt;git branch&amp;lt;/code&amp;gt; с последующим переключением, либо &amp;lt;code&amp;gt;git switch -c&amp;lt;/code&amp;gt;. Повторно создавать уже существующую ветку не нужно.&lt;br /&gt;
&lt;br /&gt;
=== git branch -D NAME — принудительно удалить ветку ===&lt;br /&gt;
&lt;br /&gt;
Удаляет локальную ветку без проверки того, что её коммиты уже включены в другую историю.&lt;br /&gt;
&lt;br /&gt;
Для обычного удаления сначала используйте вариант с проверкой:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git branch -d feature/old-task&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Принудительный вариант из исходной памятки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git branch -D feature/old-task&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Важно:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;-D&amp;lt;/code&amp;gt; может удалить последнюю ветку, ссылающуюся на нужные коммиты. Используйте его только если содержимое ветки больше не требуется или сохранено в другом месте. Нельзя удалить ветку, которая сейчас используется в рабочем дереве; сначала переключитесь на другую. На сервере ветка этой командой не удаляется.&lt;br /&gt;
&lt;br /&gt;
== Временное сохранение работы ==&lt;br /&gt;
&lt;br /&gt;
=== git stash — отложить незакоммиченные изменения ===&lt;br /&gt;
&lt;br /&gt;
Временно сохраняет изменения отслеживаемых файлов, включая индекс, и возвращает эти файлы к состоянию текущего коммита.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git stash&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сохранить также новые неотслеживаемые файлы и добавить описание:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git stash push -u -m &amp;quot;Незавершённая работа над статистикой&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Посмотреть список сохранений:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git stash list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вернуть последнее сохранение:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git stash pop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После успешного применения &amp;lt;code&amp;gt;pop&amp;lt;/code&amp;gt; удаляет запись из stash. Если возник конфликт, запись сохраняется. Вариант &amp;lt;code&amp;gt;git stash apply&amp;lt;/code&amp;gt; применяет изменения, оставляя запись в списке.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Примечание:&amp;#039;&amp;#039;&amp;#039; обычный &amp;lt;code&amp;gt;git stash&amp;lt;/code&amp;gt; не включает новые неотслеживаемые файлы; для них нужен &amp;lt;code&amp;gt;-u&amp;lt;/code&amp;gt;. Игнорируемые файлы с &amp;lt;code&amp;gt;-u&amp;lt;/code&amp;gt; также не сохраняются. Stash хранится локально и не отправляется обычным &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Пример повседневной работы ==&lt;br /&gt;
&lt;br /&gt;
Пример для существующего репозитория и ветки с настроенным отслеживанием. Выполняйте команды последовательно, проверяя результат каждого шага. При ошибке или конфликте сначала разберитесь с ним.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1. Перейти в проект и проверить состояние:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd my-project&lt;br /&gt;
git status&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2. При чистой рабочей папке получить обновления:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git pull --ff-only&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;3. Изменить файлы, затем проверить правки:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git status&lt;br /&gt;
git diff&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;4. Подготовить нужные файлы и проверить будущий коммит:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git add README.md&lt;br /&gt;
git diff --staged&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Замените &amp;lt;code&amp;gt;README.md&amp;lt;/code&amp;gt; на нужные файлы. Если нужны все изменения, можно выполнить &amp;lt;code&amp;gt;git add .&amp;lt;/code&amp;gt; из корня проекта.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;5. Сохранить и отправить:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git commit -m &amp;quot;Обновлена документация проекта&amp;quot;&lt;br /&gt;
git push&lt;br /&gt;
git status&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Частые вопросы ==&lt;br /&gt;
&lt;br /&gt;
; Почему после git add команда git diff ничего не показывает?&lt;br /&gt;
: Изменения уже находятся в индексе. Выполните &amp;lt;code&amp;gt;git diff --staged&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
; Почему изменения не появились в GitLab или GitHub после коммита?&lt;br /&gt;
: &amp;lt;code&amp;gt;git commit&amp;lt;/code&amp;gt; сохраняет изменения локально. Для отправки нужен успешный &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt; в нужный удалённый репозиторий и ветку.&lt;br /&gt;
&lt;br /&gt;
; Почему новая ветка не стала текущей после git branch?&lt;br /&gt;
: Эта команда только создаёт ветку. Переключитесь через &amp;lt;code&amp;gt;git switch&amp;lt;/code&amp;gt; или &amp;lt;code&amp;gt;git checkout&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
; Почему push сообщает, что нет upstream-ветки?&lt;br /&gt;
: Для новой ветки настройте отслеживание командой &amp;lt;code&amp;gt;git push -u origin ИМЯ_ВЕТКИ&amp;lt;/code&amp;gt;, заменив имя на фактическое.&lt;br /&gt;
&lt;br /&gt;
; Почему push отклонён с сообщением non-fast-forward?&lt;br /&gt;
: На сервере есть история, которой нет в вашей отправляемой ветке. Получите изменения через &amp;lt;code&amp;gt;git fetch&amp;lt;/code&amp;gt;, изучите расхождение и согласуйте истории перед повторной отправкой.&lt;br /&gt;
&lt;br /&gt;
== Источник ==&lt;br /&gt;
&lt;br /&gt;
Подготовлено на основе памятки &amp;#039;&amp;#039;Git_useful_commands.pdf&amp;#039;&amp;#039;. Описания переведены и уточнены; дополнительные варианты команд, примеры и ответы на частые вопросы добавлены для практического использования.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Git]]&lt;br /&gt;
[[Категория:Полезные команды]]&lt;/div&gt;</summary>
		<author><name>Artem</name></author>
	</entry>
</feed>