[ /b/ /u/ /rf/ /dt/ /vg/ /r/ /cr/ /lor/ /mu/ /oe/ /s/ /w/ /hr/ ] [ /a/ /ma/ /sw/ /hau/ /azu/ ] [ /tv/ /cp/ /gf/ /bo/ /di/ /vn/ /ve/ /wh/ /fur/ /to/ /bg/ /wn/ /slow/ /mad/ ] [ /d/ /news/ ] [ Главная | Настройки | Закладки | Плеер ]

Ответ в тред 28005. [Назад]
 [ Скрыть форму ]
Имя
Не поднимать тред 
Тема
Сообщение
Капча Капча
Пароль
Файл
Вернуться к
  • Публикация сообщения означает согласие с условиями предоставления сервиса
  • В сообщениях можно использовать разметку wakabamark
  • На данной доске отображаются исходные имена файлов!
  • Разрешенные типы файлов: text, video, code, image, pdf, flash, vector, music, archive
  • Тред перестает подниматься после 500 сообщений.
  • Треды с числом ответов более 100 не могут быть удалены.
  • Старые треды перемещаются в архив после 40 страницы.

No.28005 Ответ
Файл: git.jpg
Jpg, 80.27 KB, 750×600 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
git.jpg
Собственно вопрос про гит например.

Есть некоторая удаленная репа, до которой имеем ssh-доступ. Когда я пушаю в нее с локальной, то запускается скрипт .git/hooks/post-receive, в котором там что-нибудь делается с проектом (чистится кэш, компилируются шаблоны, запускаются миграции и прочая херота).
#!/bin/sh
GIT_WORK_TREE=.. git checkout -f
echo "Something pushed to server. Yay!"
../scripts/update.sh
# например
Возможно ли запускать на удаленном сервере этот мой update.sh не один раз на пуш, а на каждый коммит (даже на те коммиты, которые во вмерженых в основную ветку бранчах)?
>> No.28027 Ответ
Файл: 0b21bc95cdf6bab342be7eb16f3cc118.jpg
Jpg, 135.32 KB, 1280×800 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
0b21bc95cdf6bab342be7eb16f3cc118.jpg
> Возможно ли запускать на удаленном сервере этот мой update.sh не один раз на пуш, а на каждый коммит
Навскидку - нет, я бы накостылил в post-receive hook перебор всех коммитов ручками. pre-commit выполняется не на сервере, а в локальной копии, поэтому тебе не покатит.
> Когда я пушаю в нее с локальной, то запускается скрипт .git/hooks/post-receive, в котором там что-нибудь делается с проектом (чистится кэш, компилируются шаблоны, запускаются миграции и прочая херота)
У самого такой же сетап, в своей основной рабочей копии у меня все такие таски в pre-commit (включая юнит-тесты, которые не дают закоммитить, если фейлятся :3) , а на сервере на post-update висят серверные таски (а-ля git update-server-info).
>> No.28039 Ответ
>>28027
Тебе советую использовать хук update.
>> No.28042 Ответ
>>28027
У меня пока нулевое покрытие юнит-тестами (т.е. их тупо нет), поэтому pre-commit как-то и не нужен. Тогда собственно вопрос: как эти коммиты ручками по очереди перебрать? Типа заделать файл lastpushedcommit например и от него до свежезапушенного шагать?
>> No.28043 Ответ
>>28042
Нет. В update, например, передается имя ветки, начальная ревизия и конечная. Зная их, можно получить все ревизии между ними, только я забыл, как это делается.
>> No.29980 Ответ
Файл: 4604089957_987d25f8f8_z.jpg
Jpg, 272.99 KB, 640×451 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
4604089957_987d25f8f8_z.jpg
Суп котаны, тут у моих коллег случилась в гит-репе такая шляпа:
жил да был мастер с коммитами A-B, от него отпочковалась фича с коммитами A-B-C-D например, тут внезапно в мастер накоммитили и он стал A-B-E, а при попытке ребейзнуть фичу по мастеры, гит матюгаясь нихера полезного не делает, только переключается "нивкакую" ветку и гит-статус подозрительно пуст. Мы пару часов пролюбились с этой херней и тупо сделали ветку заново (разкоммитили, застэшили, сделали ветку от свежего мастера, из стэша попнули). Вот еще интересная особенность была: когда у неотребэйженой фичи смотришь git hist, то ссылки мастер на коммите B не видать.
Как по-человечески решается такое?
>> No.30017 Ответ
>>29980
Нахера вы ребейз-то делали?
>> No.30021 Ответ
>>29980
> мастер с коммитами A-B, от него отпочковалась фича с коммитами A-B-C-D например, тут внезапно в мастер накоммитили и он стал A-B-E, а при попытке ребейзнуть фичу по мастеры, гит матюгаясь нихера полезного не делает, только переключается "нивкакую" ветку и гит-статус подозрительно пуст. Мы пару часов пролюбились с этой херней и тупо сделали ветку заново (разкоммитили, застэшили, сделали ветку от свежего мастера, из стэша попнули)
Звчит, как ролевая.
>> No.30026 Ответ
>>30017
Политика партии, чтоб была линейная история коммитов. Т.е. история вида
B--E--F 
 \   /
  C-D
строго неприветствуется.
>> No.30028 Ответ
>>29980
борешься с конфликтом, rebase --continue. Но мне почему-то предлагается фиксить каждый коммит после ребейса, возможно нужно включить rerere, поэтому я делаю проще.
Так как коммиты все равно потом сквошить после ребейса, я делаю git diff между D и E и патчу D с помощью patch -p1 < diff.name. Или git merge//git diff/ patch.
>> No.30029 Ответ
>>30028
Спасибки, rerere попробуем, а еще rebase --skip попробуем. Еще я тут слегка погуглил, похоже вот на такую ситуацию http://stackoverflow.com/questions/4033009/git-rebase-conflicts-keep-b[...]gress
>> No.30030 Ответ
Файл: cat_thread.jpg
Jpg, 685.33 KB, 1404×936 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
cat_thread.jpg
>>30029
Пикча отвалилась
>> No.30520 Ответ
Подскажите, какая система удобнее всего для мелких проектиков на пэхопэ. И чтоб с PHPStorm работало.
>> No.30521 Ответ
>>30520
Размер и язык не имеют значения. Mercurial или git, других вариантов все равно не бывает.
>> No.30530 Ответ
>>30520
Mercurial + GUI к ней TortoiseHG бери.
>> No.30542 Ответ
>>30530
В жёпу гуи, только концоль, только хардкор!
>> No.30558 Ответ
Есть на Андроид какой-нибудь софт для гита или ртути, чтоб можно было клонировать, коммитить, пушать, мержить и проч.?
>> No.30564 Ответ
Файл: oglzLYGSF6.gif
Gif, 317.78 KB, 250×188 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
oglzLYGSF6.gif
>> No.30565 Ответ
>>30558
Есть. Terminal IDE. Или ставь DebianKit, а из-под него уже всё, что тебе нужно.
>>30564
Кстати, да.
>> No.31130 Ответ
Файл: 4f1f3cfc6308b8434702e8ec58d521bf.jpg
Jpg, 260.69 KB, 596×652 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
4f1f3cfc6308b8434702e8ec58d521bf.jpg
Анон, а анон, а подскажи какую-нибудь книгу или документ вроде "Git для самых маленьких", разжёвывающую терминологию гита и объясняющую основные принципы работы с репозиторием! С общей теорией систем версионирования я знаком, а также поверхностно знаком с CVS и SVN. Хочу запилить принципиально новый клиент-серверный проект, создал репозиторий на гитхабе и вроде бы связал его с локальной директорией, а теперь хочу вникнуть в матчасть, чтобы потом не было мучительно больно при правке проблем, героически созданных при первых коммитах.
>> No.31131 Ответ
>>31130
Хотя нет, отбой - как оказалось, по гиту есть необычайно внятная оффициальная(TM) книга, которая вполне подойдёт и для начинающих читателей: http://git-scm.com/book
>> No.36695 Ответ
Файл: gitflow.png
Png, 86.16 KB, 450×250 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
gitflow.png
Котаны, стоит ли использовать git-flow или можно простым git'ом обходиться?
>> No.36696 Ответ
>>31130
Для начинающих лучше это: http://githowto.com/
>> No.36793 Ответ
Файл: wenn20326693-m-112211.jpg
Jpg, 95.53 KB, 438×306 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
wenn20326693-m-112211.jpg
>>36695
"Котаны, стоит ли использовать бензопилу или можно простой пилой обходиться?"
>> No.36796 Ответ
>>36793
Зависит от толщины дерева. Ты какой толщины дерево пилишь? Такой ответ обычно и ждут.
>> No.36808 Ответ
>>36796
Ты хочешь сказать, что >>36695 не догадывается, от чего зависит применимость git-flow? Не верю. Скорее, он просто ленится поставить вопрос правильно, потому что внутри знает, что этот вопрос уже самою правильною постановкой разрешится, а тогда не будет повода написать на Доброчан, перетереть с пацанами за мёржи-ребейзики, за жизнь коммитерскую. Вот и Путин смотрит на него с отеческой укоризной. Ничего страшного; и мне нередко приходится бороть в себе это искушение.

А как удачно аналогия с пилой-то заиграла, а!
>> No.36809 Ответ
>>36808
> Ты хочешь сказать, что >>36695 не догадывается, от чего зависит применимость git-flow?
Сам я даже не знаю, что это.
>> No.36838 Ответ
>>28005
Господа объясните ньюфагу как переехать с svn на git?
читал http://habrahabr.ru/post/144626/ и http://qobject.blogspot.ru/2012/11/svn-git.html
Но слабо вериться что все так просто. Какие подводные камни ждут? Проект с с многолетней историей, коммитов соответственно нереально много.
>> No.36839 Ответ
>>36838

Импортировал как-то раз проект с пятью сотнями коммитов и одной веткой. Всё прошло отлично, никаких косяков.
>> No.36840 Ответ
>>36839
Там тысячи, текущая ревизия 4774
Мне страшно и волнительно начинать.
Опиши пожалуйста что делал.
>> No.36841 Ответ
>>36840

Примерно то же, что здесь написано: http://habrahabr.ru/post/144626/ . Я, на самом деле, особо не заморачивался с чистотой преобразования, поэтому просто запустил git svn clone с минимумом параметров, и результат меня вполне устроил.

Да, кстати, что мешает прямо сейчас начать? Репозиторий же копируется, а не уничтожается.
>> No.36846 Ответ
Файл: 392_300_34270_50_.jpg
Jpg, 36.13 KB, 392×300 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
392_300_34270_50_.jpg
>>36838
find . -name ".svn" -exec rm -rf {} \;
git init
git add -A
git commit -m 'initial commit'
>> No.36847 Ответ
Файл: petrosayn_e.jpg
Jpg, 169.01 KB, 500×500 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
petrosayn_e.jpg
>> No.37638 Ответ
>>36847
Кто нибудь знает как в git переключиться на ревизию?
>> No.37640 Ответ
>>37638
git checkout такой-то-хэш-коммита
>> No.37648 Ответ
>>37640
это не то, после чекаута теряется знания о коммитах выше и больше нельзя на них переключиться.
>> No.37657 Ответ
>>37648
Не теряется 100%. В каком-нибудь gitg глянь, если не веришь.
>> No.37671 Ответ
>>37648
> после чекаута теряется знания о коммитах выше и больше нельзя на них переключиться
Ты сделал мой день. Отсыпь немного, а?
>> No.37676 Ответ
>>37657
В tortuesGit смотрю, теряется.
>> No.37687 Ответ
>>37671
Ну зачем вы так жестоко. Понятно же, что человек хотел:
git checkout -b temp
git reset такой-то-хэш-коммита
>> No.37689 Ответ
>>37687
Спасибо добрый человек )).
>> No.37711 Ответ
>>37689
> ))
Уходи.
>> No.41427 Ответ
А для чего нужно watchers и starts на гитхабе?
Ну стал я вотчером репозитория, и где мне смотреть, что изменилось в нем?
Нет, серьезно.
>> No.41428 Ответ
>>41427
> stars
слоуфикс
>> No.41429 Ответ
>>41427
На главной странице приходят обновляния.
А стары это просто типа лайки, ну и закладка одновременно.
>> No.47272 Ответ
Файл: who_the_fuck_is_that.JPG
Jpg, 8.89 KB, 210×40 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
who_the_fuck_is_that.JPG
ЯННП. Вот я создал на гитхабе репозиторий. Вот я закоммитил в него. И оно мне отображает пикрилейтед. Но я вообще не знаю что это за хуй такой "cincrement", коммитил я с совершенно другим ником. Я удалил репозиторий, и закоммитил снова ("initial commit" - это мое описание). То же самое.
Кто это такой, и схуяли ему приписывается мой коммит?
>> No.47273 Ответ
>>47272
У гита есть свой собственный юзернаме и емайл, которые можно настроить вот как-то так https://git-scm.com/book/ru/v1/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-%D0%9F%D0%B5%D1%80%D0%B2%D0%BE%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-Git
Если ты их не настроишь то они будут браться от текущей учотки.
>> No.47274 Ответ
>>47273
Но оно даже сделало ссылку на его профиль (пустой). И я точно нигде не мог использовать "cincrement", само это слово не гуглится что указывает на то что оно не дефолтное, а локальный git log выдаёт Author: [юзернейм] <a@b.c>. Где юзернейм - это юзернейм, который я указывал при коммите. Но я использовал для этого всего TortoiseGit.
>> No.47275 Ответ
>>47274
Вот по тортосу я хз, в шинду юниксовые консольные утилиты идут через тысячи потных нигерско-вьетнамских жоп, каждая пиздоблядская прога типа того же тортойза, гиткракена или соусртри заводит свой свой гит, в соём недоюникс-окружении. Гугли или спрашивай на их форуме. Я категорически ебал виндую Только линукс, только хардкор!
>> No.47314 Ответ
>>47275
При скачивании гита с офсайта для виндовс там есть галочки - установить гуи, установить свою консолечку etc. Все прекрасно работает! Даже атлассиан и прочие гитхабы не настолько удобны, как встроенные тулзы.
А ты просто злобненькая бака, добра тебе!


Пароль:

[ /b/ /u/ /rf/ /dt/ /vg/ /r/ /cr/ /lor/ /mu/ /oe/ /s/ /w/ /hr/ ] [ /a/ /ma/ /sw/ /hau/ /azu/ ] [ /tv/ /cp/ /gf/ /bo/ /di/ /vn/ /ve/ /wh/ /fur/ /to/ /bg/ /wn/ /slow/ /mad/ ] [ /d/ /news/ ] [ Главная | Настройки | Закладки | Плеер ]