<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>RAMBA Wiki  - Свежие правки [ru]</title>
		<link>https://wiki.ramba-art.ru/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%A1%D0%B2%D0%B5%D0%B6%D0%B8%D0%B5_%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B8</link>
		<description>Отслеживание последних изменений в вики.</description>
		<language>ru</language>
		<generator>MediaWiki 1.43.9</generator>
		<lastBuildDate>Thu, 22 Oct 2026 03:58:41 GMT</lastBuildDate>
		<item>
			<title>Git komand</title>
			<link>https://wiki.ramba-art.ru/index.php?title=Git_komand&amp;diff=166&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.ramba-art.ru/index.php?title=Git_komand&amp;diff=166&amp;oldid=0</guid>
			<description>&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;</description>
			<pubDate>Wed, 30 Sep 2026 13:12:45 GMT</pubDate>
			<dc:creator>Artem</dc:creator>
			<comments>https://wiki.ramba-art.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:Git_komand</comments>
		</item>
		<item>
			<title>Sis admin linux</title>
			<link>https://wiki.ramba-art.ru/index.php?title=Sis_admin_linux&amp;diff=165&amp;oldid=158</link>
			<guid isPermaLink="false">https://wiki.ramba-art.ru/index.php?title=Sis_admin_linux&amp;diff=165&amp;oldid=158</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.ramba-art.ru/index.php?title=Sis_admin_linux&amp;amp;diff=165&amp;amp;oldid=158&quot;&gt;Внесённые изменения&lt;/a&gt;</description>
			<pubDate>Mon, 28 Sep 2026 18:52:22 GMT</pubDate>
			<dc:creator>Artem</dc:creator>
			<comments>https://wiki.ramba-art.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:Sis_admin_linux</comments>
		</item>
		<item>
			<title>Заглавная страница</title>
			<link>https://wiki.ramba-art.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=160&amp;oldid=157</link>
			<guid isPermaLink="false">https://wiki.ramba-art.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=160&amp;oldid=157</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 21:18, 28 сентября 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-multi&quot; lang=&quot;ru&quot;&gt;(не показана 1 промежуточная версия этого же участника)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l33&quot;&gt;Строка 33:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 33:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Docker]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Docker]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bash]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bash]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;SSH-доступ с macOS к LXC-контейнеру Proxmox по ключу&lt;/del&gt;|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;SSH с Mac по ключу&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Sis admin linux&lt;/ins&gt;|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Хитрости администрирования Linux&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Mon, 28 Sep 2026 18:18:59 GMT</pubDate>
			<dc:creator>Artem</dc:creator>
			<comments>https://wiki.ramba-art.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0</comments>
		</item>
		<item>
			<title>Sis admin linux</title>
			<link>https://wiki.ramba-art.ru/index.php?title=Sis_admin_linux&amp;diff=158&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.ramba-art.ru/index.php?title=Sis_admin_linux&amp;diff=158&amp;oldid=0</guid>
			<description>&lt;p&gt;Новая страница: «= SSH-доступ с macOS к LXC-контейнеру Proxmox по ключу =  == Назначение ==  Инструкция позволяет настроить подключение с Mac к LXC-контейнеру Proxmox по SSH без ввода пароля пользователя root.  Публичный ключ добавляется через консоль Proxmox, поэтому знать или создавать пароль roo...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= SSH-доступ с macOS к LXC-контейнеру Proxmox по ключу =&lt;br /&gt;
&lt;br /&gt;
== Назначение ==&lt;br /&gt;
&lt;br /&gt;
Инструкция позволяет настроить подключение с Mac к LXC-контейнеру Proxmox по SSH без ввода пароля пользователя root.&lt;br /&gt;
&lt;br /&gt;
Публичный ключ добавляется через консоль Proxmox, поэтому знать или создавать пароль root контейнера для этой настройки не требуется.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Все адреса и идентификаторы приведены для примера. Замените их значениями своей инфраструктуры.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Параметр !! Пример&lt;br /&gt;
|-&lt;br /&gt;
| ID контейнера || 123&lt;br /&gt;
|-&lt;br /&gt;
| IP-адрес контейнера || 192.168.2.2&lt;br /&gt;
|-&lt;br /&gt;
| Пользователь SSH || root&lt;br /&gt;
|-&lt;br /&gt;
| Клиент || Mac с macOS&lt;br /&gt;
|-&lt;br /&gt;
| Тип ключа || Ed25519&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Перед началом ==&lt;br /&gt;
&lt;br /&gt;
Для выполнения инструкции необходимы:&lt;br /&gt;
&lt;br /&gt;
* Доступ к терминалу macOS.&lt;br /&gt;
* Административный доступ к консоли узла Proxmox, на котором запущен контейнер.&lt;br /&gt;
* Установленный и работающий SSH-сервер внутри контейнера.&lt;br /&gt;
* Сетевая доступность контейнера с Mac — напрямую через локальную сеть либо через VPN.&lt;br /&gt;
&lt;br /&gt;
SSH-сервер контейнера должен разрешать авторизацию по публичному ключу и вход root по ключу.&lt;br /&gt;
&lt;br /&gt;
== 1. Создание SSH-ключа на Mac ==&lt;br /&gt;
&lt;br /&gt;
Открыть приложение &amp;#039;&amp;#039;&amp;#039;Терминал&amp;#039;&amp;#039;&amp;#039; на Mac.&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;
if [ ! -f ~/.ssh/id_ed25519 ]; then&lt;br /&gt;
  ssh-keygen -t ed25519 -N &amp;quot;&amp;quot; -f ~/.ssh/id_ed25519&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;SSH-ключ уже существует.&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Команда создаёт новый ключ только при отсутствии файла &amp;lt;code&amp;gt;~/.ssh/id_ed25519&amp;lt;/code&amp;gt;. Существующий ключ не перезаписывается.&lt;br /&gt;
&lt;br /&gt;
После создания появляются два файла:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Файл !! Назначение&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;~/.ssh/id_ed25519&amp;lt;/code&amp;gt;&lt;br /&gt;
| Приватный ключ. Остаётся на Mac и не передаётся другим пользователям.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;~/.ssh/id_ed25519.pub&amp;lt;/code&amp;gt;&lt;br /&gt;
| Публичный ключ. Добавляется на сервер, к которому требуется доступ.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Важно:&amp;#039;&amp;#039;&amp;#039; параметр &amp;lt;code&amp;gt;-N &amp;quot;&amp;quot;&amp;lt;/code&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;
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. Получение публичного ключа ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;На Mac&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;
cat ~/.ssh/id_ed25519.pub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Скопировать всю строку, начинающуюся с &amp;lt;code&amp;gt;ssh-ed25519&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ключ нужно копировать целиком, одной строкой.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Не следует копировать:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Приватный ключ из файла без расширения &amp;lt;code&amp;gt;.pub&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Отпечаток вида &amp;lt;code&amp;gt;SHA256:...&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Графический рисунок, показанный при создании ключа.&lt;br /&gt;
&lt;br /&gt;
Если приватный ключ существует, а соответствующий файл &amp;lt;code&amp;gt;.pub&amp;lt;/code&amp;gt; отсутствует, публичный ключ можно восстановить на Mac:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh-keygen -y -f ~/.ssh/id_ed25519 &amp;gt; ~/.ssh/id_ed25519.pub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. Вход в контейнер через Proxmox ==&lt;br /&gt;
&lt;br /&gt;
В веб-интерфейсе Proxmox выбрать &amp;#039;&amp;#039;&amp;#039;узел, на котором запущен контейнер&amp;#039;&amp;#039;&amp;#039;, и открыть его &amp;#039;&amp;#039;&amp;#039;Shell&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Выполнить, заменив &amp;lt;code&amp;gt;123&amp;lt;/code&amp;gt; фактическим ID контейнера:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pct enter 123&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После выполнения команды откроется оболочка контейнера.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Все команды следующего раздела выполняются внутри контейнера от имени root.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== 4. Добавление публичного ключа ==&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;
mkdir -p /root/.ssh&lt;br /&gt;
chmod 700 /root/.ssh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В следующей команде заменить &amp;lt;code&amp;gt;ВСТАВЬ_ПУБЛИЧНЫЙ_КЛЮЧ&amp;lt;/code&amp;gt; полной строкой публичного ключа с Mac. Одинарные кавычки сохранить:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
printf &amp;#039;%s\n&amp;#039; &amp;#039;ВСТАВЬ_ПУБЛИЧНЫЙ_КЛЮЧ&amp;#039; &amp;gt;&amp;gt; /root/.ssh/authorized_keys&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;
chown root:root /root/.ssh /root/.ssh/authorized_keys&lt;br /&gt;
chmod 600 /root/.ssh/authorized_keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Оператор &amp;lt;code&amp;gt;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt; добавляет ключ в конец файла, сохраняя существующие записи.&lt;br /&gt;
&lt;br /&gt;
Каждый публичный ключ должен занимать отдельную строку. Если файл редактировался вручную, убедитесь, что новый ключ не склеился с предыдущим.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Перезапуск SSH-сервера после добавления ключа не требуется.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== 5. Проверка ключа сервера ==&lt;br /&gt;
&lt;br /&gt;
При первом подключении Mac может запросить подтверждение подлинности сервера.&lt;br /&gt;
&lt;br /&gt;
Чтобы проверить отпечаток ключа ED25519, выполнить &amp;#039;&amp;#039;&amp;#039;внутри контейнера через консоль Proxmox&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;
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сравнить полученный отпечаток &amp;lt;code&amp;gt;SHA256:...&amp;lt;/code&amp;gt; с отпечатком, который покажет Mac при подключении.&lt;br /&gt;
&lt;br /&gt;
Сравнивать нужно ключи одного типа: в данном случае ED25519.&lt;br /&gt;
&lt;br /&gt;
== 6. Подключение с Mac ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;В Терминале на Mac&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;
ssh root@192.168.2.2&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;text&amp;quot;&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При успешной настройке откроется оболочка контейнера без запроса пароля root.&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;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Если ключ защищён парольной фразой ==&lt;br /&gt;
&lt;br /&gt;
Запрос &amp;lt;code&amp;gt;Enter passphrase for key&amp;lt;/code&amp;gt; означает, что macOS просит парольную фразу приватного ключа, а не пароль root контейнера.&lt;br /&gt;
&lt;br /&gt;
Чтобы добавить ключ в SSH-агент и сохранить парольную фразу в связке ключей macOS, выполнить &amp;#039;&amp;#039;&amp;#039;на Mac&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;
ssh-add --apple-use-keychain ~/.ssh/id_ed25519&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ввести парольную фразу ключа.&lt;br /&gt;
&lt;br /&gt;
Для её дальнейшего использования можно добавить параметры в файл &amp;lt;code&amp;gt;~/.ssh/config&amp;lt;/code&amp;gt;, как показано в следующем разделе.&lt;br /&gt;
&lt;br /&gt;
== Короткая команда подключения ==&lt;br /&gt;
&lt;br /&gt;
Вместо IP-адреса можно использовать удобное имя, например &amp;lt;code&amp;gt;my-container&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;На Mac&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;
mkdir -p ~/.ssh&lt;br /&gt;
chmod 700 ~/.ssh&lt;br /&gt;
nano ~/.ssh/config&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;text&amp;quot;&amp;gt;&lt;br /&gt;
Host my-container&lt;br /&gt;
    HostName 192.168.2.2&lt;br /&gt;
    User root&lt;br /&gt;
    IdentityFile ~/.ssh/id_ed25519&lt;br /&gt;
    IdentitiesOnly yes&lt;br /&gt;
    AddKeysToAgent yes&lt;br /&gt;
    UseKeychain yes&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сохранить файл в nano:&lt;br /&gt;
&lt;br /&gt;
# Нажать &amp;lt;code&amp;gt;Control + O&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Нажать &amp;lt;code&amp;gt;Enter&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Нажать &amp;lt;code&amp;gt;Control + X&amp;lt;/code&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;
chmod 600 ~/.ssh/config&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;
ssh my-container&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Диагностика ==&lt;br /&gt;
&lt;br /&gt;
=== Сервер запрашивает пароль root ===&lt;br /&gt;
&lt;br /&gt;
Это означает, что авторизация по ключу не завершилась успешно.&lt;br /&gt;
&lt;br /&gt;
На Mac явно указать нужный ключ и включить подробный вывод:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh -v -o IdentitiesOnly=yes -i ~/.ssh/id_ed25519 root@192.168.2.2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Через консоль Proxmox проверить внутри контейнера:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -ld /root/.ssh&lt;br /&gt;
ls -l /root/.ssh/authorized_keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ожидаемые параметры:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Объект !! Права !! Владелец&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/root/.ssh&amp;lt;/code&amp;gt; || 700 — &amp;lt;code&amp;gt;drwx------&amp;lt;/code&amp;gt; || root&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/root/.ssh/authorized_keys&amp;lt;/code&amp;gt; || 600 — &amp;lt;code&amp;gt;-rw-------&amp;lt;/code&amp;gt; || root&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Также проверить:&lt;br /&gt;
&lt;br /&gt;
* В файле записан публичный ключ именно с нужного Mac.&lt;br /&gt;
* Ключ не разбит на несколько строк.&lt;br /&gt;
* Подключение выполняется к правильному IP-адресу и пользователю.&lt;br /&gt;
* SSH-сервер разрешает авторизацию по ключу.&lt;br /&gt;
* Вход root по ключу не запрещён настройками SSH.&lt;br /&gt;
&lt;br /&gt;
=== Соединение отклонено: Connection refused ===&lt;br /&gt;
&lt;br /&gt;
Проверить правильность адреса, работу SSH-сервера и порт, на котором он принимает подключения.&lt;br /&gt;
&lt;br /&gt;
=== Сервер не отвечает: Connection timed out ===&lt;br /&gt;
&lt;br /&gt;
Проверить:&lt;br /&gt;
&lt;br /&gt;
* Запущен ли контейнер.&lt;br /&gt;
* Доступна ли его подсеть с Mac.&lt;br /&gt;
* Подключён ли нужный VPN.&lt;br /&gt;
* Не блокируется ли SSH-порт межсетевым экраном.&lt;br /&gt;
&lt;br /&gt;
=== Изменился ключ сервера ===&lt;br /&gt;
&lt;br /&gt;
При предупреждении &amp;lt;code&amp;gt;REMOTE HOST IDENTIFICATION HAS CHANGED&amp;lt;/code&amp;gt; сначала проверить причину изменения и новый отпечаток через доверенную консоль Proxmox.&lt;br /&gt;
&lt;br /&gt;
Не удалять сохранённый ключ сервера без проверки: предупреждение может означать как переустановку контейнера, так и подключение к другому устройству.&lt;br /&gt;
&lt;br /&gt;
== Итог ==&lt;br /&gt;
&lt;br /&gt;
После настройки Mac использует приватный ключ для подтверждения доступа, а контейнер проверяет его по публичному ключу из &amp;lt;code&amp;gt;/root/.ssh/authorized_keys&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Настройка сохраняется после перезагрузки Mac и контейнера.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Добавление ключа само по себе не отключает парольную авторизацию SSH.&amp;#039;&amp;#039;&amp;#039; Настройки разрешённых способов входа управляются отдельно.&lt;/div&gt;</description>
			<pubDate>Mon, 28 Sep 2026 18:16:09 GMT</pubDate>
			<dc:creator>Artem</dc:creator>
			<comments>https://wiki.ramba-art.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:Sis_admin_linux</comments>
		</item>
		<item>
			<title>Заглавная страница</title>
			<link>https://wiki.ramba-art.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=157&amp;oldid=132</link>
			<guid isPermaLink="false">https://wiki.ramba-art.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=157&amp;oldid=132</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 21:16, 28 сентября 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l33&quot;&gt;Строка 33:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 33:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Docker]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Docker]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bash]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Bash]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[SSH-доступ с macOS к LXC-контейнеру Proxmox по ключу|SSH с Mac по ключу]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Mon, 28 Sep 2026 18:16:04 GMT</pubDate>
			<dc:creator>Artem</dc:creator>
			<comments>https://wiki.ramba-art.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0</comments>
		</item>
		<item>
			<title>Kuzya2-0</title>
			<link>https://wiki.ramba-art.ru/index.php?title=Kuzya2-0&amp;diff=156&amp;oldid=121</link>
			<guid isPermaLink="false">https://wiki.ramba-art.ru/index.php?title=Kuzya2-0&amp;diff=156&amp;oldid=121</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 09:24, 26 сентября 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l594&quot;&gt;Строка 594:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 594:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Кузя должен не просто выполнять команды администратора, а понимать происходящее в сообществе, помогать его участникам, сохранять накопленные знания и поддерживать порядок, оставляя окончательный контроль за администрацией.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Кузя должен не просто выполнять команды администратора, а понимать происходящее в сообществе, помогать его участникам, сохранять накопленные знания и поддерживать порядок, оставляя окончательный контроль за администрацией.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[https://wiki.ramba-art.ru/wiki/Kuzya_2-0_lost_patch| Кузя 2.0 последние изменения]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sat, 26 Sep 2026 06:24:29 GMT</pubDate>
			<dc:creator>Artem</dc:creator>
			<comments>https://wiki.ramba-art.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:Kuzya2-0</comments>
		</item>
		<item>
			<title>Kuzya 2-0 lost patch</title>
			<link>https://wiki.ramba-art.ru/index.php?title=Kuzya_2-0_lost_patch&amp;diff=155&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.ramba-art.ru/index.php?title=Kuzya_2-0_lost_patch&amp;diff=155&amp;oldid=0</guid>
			<description>&lt;p&gt;Новая страница: «&amp;#039;&amp;#039;&amp;#039;Кузя&amp;#039;&amp;#039;&amp;#039; — Telegram-бот для администрирования и сопровождения сообщества. Проект развивается от административного бота к интеллектуальному помощнику, способному поддерживать диалог, находить информацию в истории чата и помогать модераторам.  Основная з...»&lt;/p&gt;
&lt;a href=&quot;https://wiki.ramba-art.ru/index.php?title=Kuzya_2-0_lost_patch&amp;amp;diff=155&quot;&gt;Внесённые изменения&lt;/a&gt;</description>
			<pubDate>Sat, 26 Sep 2026 06:21:50 GMT</pubDate>
			<dc:creator>Artem</dc:creator>
			<comments>https://wiki.ramba-art.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:Kuzya_2-0_lost_patch</comments>
		</item>
</channel></rss>