<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Как принять push в GIT?</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9218.html</link>
    <description>Всем добрый день!&lt;br&gt;&lt;br&gt;Сейчас осваиваю GIT и не могу разобраться с одним вопросом. Есть у меня 1 репозиторий. Я его клонирую. Работаю с клоном, делаю коммит и затем делаю push в оригинальный репозиторий.&lt;br&gt;Перехожу в оригинальный, делаю git status, и он мне выдает, что дескать есть изменения для коммита (как раз те изменения, что я сделал на клоне). Делаю коммит, и... ничего не меняется. Исходные тексты в рабочей директории оригинального репа не изменились. &lt;br&gt;&lt;br&gt;Подскажите, пожалуйста, как правильно принять изменения, которые прислали пушем? &lt;br&gt;</description>

<item>
    <title>Как принять push в GIT? (phantom lord)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9218.html#10</link>
    <pubDate>Thu, 18 Aug 2011 04:07:25 GMT</pubDate>
    <description>&amp;gt; я делаю так &lt;br&gt;&amp;gt; 1) создаю bare репозиторий на сервере &lt;br&gt;&amp;gt; 2) делаю из него clone для работы на одном или нескольких рабочих &lt;br&gt;&amp;gt; хостах (обычно 2) &lt;br&gt;&amp;gt; 3) работаю с кодом (commit, etc) &lt;br&gt;&amp;gt; 4) посылаю мои изменения на сервер с помощью push.&lt;br&gt;&amp;gt; 5) на другом компьютере беру изменения с сервера c помощью pull &lt;br&gt;&amp;gt; 6) goto 3 &lt;br&gt;&amp;gt; если есть разница между локальной копией и сервером то git status сообщает &lt;br&gt;&amp;gt; об этом.&lt;br&gt;&lt;br&gt;Ну вот с bare репозиторием я не пробовал работать. Я работаю над сайтом, поэтому в рабочей директории по-любому должны быть исходники. Но можно попробовать создать третий реп и сделать его bare. В него пушить с локальной машины. А потом стягивать (pull) с него наработки на продакшн-сервер, где сайт лежит.&lt;br&gt;&lt;br&gt;Кстати, и без bare репа я нашел-таки рабочий вариант. На продакшне активная ветка мастер (checkout master). На локальной машине работаю, делаю коммиты, а затем чтобы передать сделанное на продакшн, делаю &quot;push origin new_branch&quot;, где new_branch - название ветки, которой не существует в origin. В ре</description>
</item>

<item>
    <title>Как принять push в GIT? (андрей)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9218.html#9</link>
    <pubDate>Wed, 17 Aug 2011 21:46:59 GMT</pubDate>
    <description>я делаю так&lt;br&gt;1) создаю bare репозиторий на сервере&lt;br&gt;2) делаю из него clone для работы на одном или нескольких рабочих хостах (обычно 2)&lt;br&gt;3) работаю с кодом (commit, etc)&lt;br&gt;4) посылаю мои изменения на сервер с помощью push.&lt;br&gt;5) на другом компьютере беру изменения с сервера c помощью pull&lt;br&gt;6) goto 3&lt;br&gt;&lt;br&gt;если есть разница между локальной копией и сервером то git status сообщает об этом.&lt;br&gt;</description>
</item>

<item>
    <title>Как принять push в GIT? (phantom lord)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9218.html#8</link>
    <pubDate>Wed, 17 Aug 2011 13:43:43 GMT</pubDate>
    <description>&amp;gt;&amp;gt; Ну неужели в Гите такая работа через жопу и задумывалась? Это же бред.&lt;br&gt;&amp;gt; Может, тебе rsync нужен, не git?&lt;br&gt;&amp;gt; ...хотя с ним тоже сложно - столько ключей, и не делает &quot;то, &lt;br&gt;&amp;gt; что я хочу, и сразу&quot;(тм) ?&lt;br&gt;&amp;gt; Я в тупике!&lt;br&gt;&lt;br&gt;Блин, ну хотелось удобный инструмент, чтобы локально работать над проектами, а потом заливать на сервак, иметь красивую историю и возможность откатиться. Раньше я постоянно по фтп перекидывал измененный файлы и руками бекапил предвдущие версии. Если что-то не так, то руками обратно восстанавливал из бекапа. Мороки много.&lt;br&gt;&lt;br&gt;Вот и начал гит осваивать, чтобы был процесс автоматизированный. И, кстати, я писал что в удаленную ветку пуш проходит нормально. НИФИГА! Посмотрел более внимательно, не проходит он. &lt;br&gt;</description>
</item>

<item>
    <title>Как принять push в GIT? (Andrey Mitrofanov)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9218.html#7</link>
    <pubDate>Wed, 17 Aug 2011 13:37:53 GMT</pubDate>
    <description>&amp;gt; Ну неужели в Гите такая работа через жопу и задумывалась? Это же бред.&lt;br&gt;&lt;br&gt;Может, тебе rsync нужен, не git?&lt;br&gt;...хотя с ним тоже сложно - столько ключей, и не делает &quot;то, что я хочу, и сразу&quot;(тм) ?&lt;br&gt;&lt;br&gt;Я в тупике!&lt;br&gt;</description>
</item>

<item>
    <title>Как принять push в GIT? (phantom lord)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9218.html#6</link>
    <pubDate>Wed, 17 Aug 2011 13:29:42 GMT</pubDate>
    <description>&amp;gt; А &#096;git checkout -f&#096; не помогает?&lt;br&gt;&amp;gt; Не должна ( -f же!).&lt;br&gt;&amp;gt; Плюс -- изменённая раб.директория не переписывается без -f/--force.&lt;br&gt;&lt;br&gt;Ну неужели в Гите такая работа через жопу и задумывалась? Это же бред. &lt;br&gt;&lt;br&gt;Кстати, пуш в другую ветку проходит нормально. Если пушить в ветку, которая не в состоянии checkout, то всё отлично пушится и раб директория отображается с изменениями, пришедшими с пушем. &lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Как принять push в GIT? (Andrey Mitrofanov)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9218.html#5</link>
    <pubDate>Wed, 17 Aug 2011 13:14:16 GMT</pubDate>
    <description>&amp;gt; пуша! То есть, чтобы принять изменения, присланные пушем, мне нужно для &lt;br&gt;&amp;gt; каждого измененного файла сделать &quot;git reset HEAD -- file&quot;, а затем &lt;br&gt;&amp;gt; &quot;git checkout file&quot;. А для этого нужно знать список измененных файлов. &lt;br&gt;&lt;br&gt;А &#096;git checkout -f&#096; не помогает?&lt;br&gt;&lt;br&gt;&amp;gt; Но самое интересное, что если сделать тупо &quot;git checkout 123456&quot;, где 123456 &lt;br&gt;&amp;gt; - шех этого самого коммита, то ничего не изменится! Хотя эта &lt;br&gt;&amp;gt; команда должна приводить рабочую директорию в состояние на момент указанного коммита. &lt;br&gt;&lt;br&gt;Не должна ( -f же!).&lt;br&gt;&lt;br&gt;&amp;gt; Итого: в истории коммит есть; через reset из него вытащить изменения &lt;br&gt;&amp;gt; можно, а просто переключиться на него нельзя. Точнее можно, и гит &lt;br&gt;&amp;gt; показывает, что всё успешно переключено, но директория не меняется. Ваше взрыв &lt;br&gt;&amp;gt; мозга!&lt;br&gt;&lt;br&gt;А это он и есть -- Индекс. Пуш его не трогает и он &quot;помнит&quot;, насколько я ничего не понимаю, какое-то из прошлых состояний.&lt;br&gt;&lt;br&gt;Плюс -- изменённая раб.директория не переписывается без -f/--force.&lt;br&gt;&lt;br&gt;&amp;gt;Насчет пуша в другую ветку не понял.&lt;br&gt;&lt;br&gt;Это было по поводу &quot;вижу рабо</description>
</item>

<item>
    <title>Как принять push в GIT? (phantom lord)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9218.html#4</link>
    <pubDate>Wed, 17 Aug 2011 13:01:16 GMT</pubDate>
    <description>Поправка! Я писал:&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; Переключаюсь на оригинальный реп, и вижу рабочую директорию в соответствии с &lt;br&gt;&amp;gt;&amp;gt; файлами, присланными пушем. Делаю reflog, а там пуш никак не обозначается, &lt;br&gt;&amp;gt;&amp;gt; как буд-то и нет его. А вот git log показывает этот &lt;br&gt;&amp;gt;&amp;gt; пуш как обычный коммит.&lt;br&gt;&lt;br&gt;Более подробный анализ показал, что происходит на самом деле следующее:&lt;br&gt;Когда я после пуша перехожу в оригинальный репозиторий, в нем уже есть коммит с изменениями пуша, но рабочая директория находится в состоянии до пуша! То есть, чтобы принять изменения, присланные пушем, мне нужно для каждого измененного файла сделать &quot;git reset HEAD -- file&quot;, а затем &quot;git checkout file&quot;. А для этого нужно знать список измененных файлов. &lt;br&gt;Но самое интересное, что если сделать тупо &quot;git checkout 123456&quot;, где 123456 - шех этого самого коммита, то ничего не изменится! Хотя эта команда должна приводить рабочую директорию в состояние на момент указанного коммита. Итого: в истории коммит есть; через reset из него вытащить изменения можно, а просто переключиться </description>
</item>

<item>
    <title>Как принять push в GIT? (Andrey Mitrofanov)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9218.html#3</link>
    <pubDate>Tue, 16 Aug 2011 05:43:58 GMT</pubDate>
    <description>&amp;gt; Git log смотреть уже бессмысленно, я копипастом перегнал файлы в рабочую директорию &lt;br&gt;&amp;gt; :D &lt;br&gt;&amp;gt; Сейчас продолжаю экспериментировать. Так вот сейчас наблюдаю другую картину. Делаю пуш. &lt;br&gt;&amp;gt; Переключаюсь на оригинальный реп, и вижу рабочую директорию в соответствии с &lt;br&gt;&amp;gt; файлами, присланными пушем. Делаю reflog, а там пуш никак не обозначается, &lt;br&gt;&amp;gt; как буд-то и нет его. А вот git log показывает этот &lt;br&gt;&amp;gt; пуш как обычный коммит.&lt;br&gt;&lt;br&gt;Так, в отличие от pull (да, они не зеркальные близнецы), push не делает мерджа, он _копирует историю текущей ветки в удалённую ветку. То есть, если и там что-то (другое) коммитил, получится.... Даже не знаю, что получится - скорее всего те ремотные коммиты потеряются. В таком случае, если ремотная истоия важна, нужно сначала её pull (=и мердж), а потом резульат (после обычных проверок и проч.) pull туда.&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; При таком раскладе всё ок, и можно нормально работать.&lt;br&gt;&amp;gt; Но всё равно хотелось бы, чтобы после пуша изменения &lt;br&gt;&amp;gt; не сразу попадали в рабочую директорию. Это можно как-то сделат</description>
</item>

<item>
    <title>Как принять push в GIT? (phantom lord)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9218.html#2</link>
    <pubDate>Mon, 15 Aug 2011 06:01:40 GMT</pubDate>
    <description>Ну с теорию я учу сейчас, отличие репа от рабочей директории вроде усвоил.&lt;br&gt;&lt;br&gt;Git log смотреть уже бессмысленно, я копипастом перегнал файлы в рабочую директорию :D&lt;br&gt;Сейчас продолжаю экспериментировать. Так вот сейчас наблюдаю другую картину. Делаю пуш. Переключаюсь на оригинальный реп, и вижу рабочую директорию в соответствии с файлами, присланными пушем. Делаю reflog, а там пуш никак не обозначается, как буд-то и нет его. А вот git log показывает этот пуш как обычный коммит. При таком раскладе всё ок, и можно нормально работать. Но всё равно хотелось бы, чтобы после пуша изменения не сразу попадали в рабочую директорию. Это можно как-то сделать?&lt;br&gt;</description>
</item>

</channel>
</rss>
