<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>iLoveCode.ru: заметки с тегом unix</title>
<link>https://ilovecode.ru/tags/unix/</link>
<description>Программирование на Swift, настройка Xcode, интеграция 1С с сайтом на Битрикс, настройка unix-сервера, настройка почтового сервера.</description>
<author>Михаил</author>
<language>ru</language>
<generator>E2 (v3849; Aegea)</generator>

<itunes:owner>
<itunes:name>Михаил</itunes:name>
<itunes:email></itunes:email>
</itunes:owner>
<itunes:subtitle>Программирование на Swift, настройка Xcode, интеграция 1С с сайтом на Битрикс, настройка unix-сервера, настройка почтового сервера.</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Как добавить под git изменения, которые были сделаны напрямую на сервере</title>
<guid isPermaLink="false">9</guid>
<link>https://ilovecode.ru/all/kak-dobavit-pod-git-izmeneniya-kotorye-byli-sdelany-napryamuyu-n/</link>
<pubDate>Wed, 01 Sep 2021 12:25:23 +0000</pubDate>
<author>Михаил</author>
<comments>https://ilovecode.ru/all/kak-dobavit-pod-git-izmeneniya-kotorye-byli-sdelany-napryamuyu-n/</comments>
<description>
&lt;p&gt;На сервере размещен проект под управлением git. Были внесены изменения в файлы не через git, а напрямую (например, через sftp, ftp, ssh и т. п.). Далее инструкция, как эти изменения добавить под git, не потеряв их.&lt;/p&gt;
&lt;p&gt;К примеру, при вводе команды&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;git status&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;вы видите, что один или несколько файлов модифицированы:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://ilovecode.ru/pictures/Snimok_ekrana_2021-09-01_v_13_20_48.png" width="801" height="160" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;h2&gt;Создаем отдельную ветку и переходим на нее&lt;/h2&gt;
&lt;p&gt;Для этого выполняем команду:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;git checkout -b &amp;lt;название ветки&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;В результате мы должны получить сообщение о переходе на новую ветку:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;Switched to a new branch '&amp;lt;название ветки&amp;gt;'&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;h2&gt;Добавляем измененные файлы под git&lt;/h2&gt;
&lt;p&gt;Для этого можно выполнить команду с перечислением файлов, которые нам нужно добавить (необходимо в случае, если есть еще какие-либо локальные файлы, которые не нужно добавлять под git. Это можно понять по команде «git status», например, на скриншоте выше лишних файлов нет). Команда:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;git add &amp;lt;путь к файлу 1&amp;gt; &amp;lt;путь к файлу 1&amp;gt; &amp;lt;путь к файлу 3&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Путь к файлам определяется относительно корня репозитория. Его можно взять из первоначальной команды «git status».&lt;/p&gt;
&lt;p&gt;Если же лишних локальных файлов нет, тогда выполняем команду:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;git add -A&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Добавятся все файлы, которые были перечислены в ходе вывода команды «git status».&lt;/p&gt;
&lt;p&gt;Если добавили лишний файл, то удалить его из индекса можно командой:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;git rm --cached &amp;lt;имя файла&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;h2&gt;Делаем commit и push изменений в удаленную ветку&lt;/h2&gt;
&lt;p&gt;Для commit выполняем команду:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;git commit -m &amp;quot;&amp;lt;описание коммита&amp;gt;&amp;quot;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Мы должны получить сообщение об успешном commit. Примерный вид:&lt;br /&gt;
&lt;br&gt;&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://ilovecode.ru/pictures/Snimok-ekrana-2021-09-01-v-13.58.34.png" width="429" height="29" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Проверяем, что все изменения теперь на ветке:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;git status&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Должны получить сообщение вида:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://ilovecode.ru/pictures/Snimok-ekrana-2021-09-01-v-14.00.26.png" width="297" height="28" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Выполняем команду для push:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;git push origin &amp;lt;название ветки&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Мы должны получить сообщение вида:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://ilovecode.ru/pictures/Snimok_ekrana_2021-09-01_v_14_02_09.png" width="791" height="145" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;h2&gt;Делаем merge ветки в master&lt;/h2&gt;
&lt;p&gt;Теперь переходим в ваш удаленный репозиторий. В моем случае это &lt;a href="https://bitbucket.org/"&gt;bitbucket.org&lt;/a&gt;. Создаем pull request из ветки, в которую вы делали push на предыдущем шаге (это необходимо, если у вас merge в master доступен только через pull request), проверяем. что все корректно и делаем merge.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;h2&gt;Возвращаемся на ветку master на сервере&lt;/h2&gt;
&lt;p&gt;Для этого выполняем команду:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;git checkout master&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Мы должны получить сообщение о переходе на ветку master.&lt;/p&gt;
&lt;p&gt;Выполняем команду, чтобы «стянуть» с удаленного master актуальные изменения:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;git pull origin master&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Получим сообщение об успешном «стягивании». Примерный вид:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://ilovecode.ru/pictures/Snimok_ekrana_2021-09-01_v_14_18_55.png" width="711" height="180" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;После этого проверяем, что сейчас локальный репозиторий на сервере актуальный и смотрит на ветку master. Выполняем команду:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;git status&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Мы должны получить следующее сообщение.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://ilovecode.ru/pictures/Snimok_ekrana_2021-09-01_v_14_21_52.png" width="415" height="41" alt="" /&gt;
&lt;/div&gt;
</description>
</item>


</channel>
</rss>