[ /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. Все прекрасно работает! Даже атлассиан и прочие гитхабы не настолько удобны, как встроенные тулзы.
А ты просто злобненькая бака, добра тебе!
>> No.47738 Ответ
Какая система лучше для Windows в плане чтобы работало и не выёбывалось?
>> No.47739 Ответ
>>47738
В смысле?
>> No.47757 Ответ
>>47738
Пользуюсь этим: https://desktop.github.com/

Нареканий не имею.
>> No.47760 Ответ
>>47757
То есть не этим, что они там сейчас предлагают (какую-то бету), а если промотать ниже, то будет обычная нормальная версия.

Бету не пробовал.
>> No.47770 Ответ
>>47739
Нужен локальный репозиторий.
>> No.47771 Ответ
>>47770
git init; git add -A; git commit -m 'initial commit'
>> No.47772 Ответ
>>47771
Кроме гита систем контроля версий не существует?
>> No.47773 Ответ
>>47772
Ну, есть bazaar и darcs еще например.
>> No.47774 Ответ
>>47772
Чтоб потом переучиваться на гит, да.
>> No.47775 Ответ
>>47773
ClearCase, CVS, Subversion?
>> No.47776 Ответ
Почему на гитхабе столько вроде бы бессмысленных форков? Это какое-то автоматическое действие? Зачем рандомно форкать всё подряд, если не планируешь что-то менять? Что это даёт?
>> No.47780 Ответ
>>47776
В большинстве из них несколько строк изменений. В чём смысл вопроса? Если мне потребуется поменять одну строчку для себя, то я его форкну.
>> No.47781 Ответ
>>47780
Нет, просто форки, безо всяких изменений. Человек просто зачем-то форкает к себе реп и всё.
>> No.47842 Ответ
>>47781
Форкаю на работе, чтобы потом дома склонировать и похакать.
>> No.47843 Ответ
>>47772
Есть божественная ртуть, но миллионы мух пользуют гит.
>> No.47844 Ответ
>>47843
Я пользовался и гитом и ртутью, они плюс-минус одинаковы по функционалу. Божественности в ртути не увидел.
>> No.47845 Ответ
>>47844
Говорят, она быстрее. Какой по величине репа была на ртути? Маленькая или большая?
>> No.47847 Ответ
>>47845
Небольшая репа на ртути. Около сотни коммитов, емнип. С огромными репами под гиг размером приходилось работать, не сказать что прями пиздос медленно становится.
>> No.47848 Ответ
Можно ли сделать так, чтобы git не запоминал логин и пароль на github. Сбрасываю на работе всякие маленькие фрагменты кода на свой гитхаб, не хотелось бы светить там свои данные.
Обычно все наоборот хотят эту фичу. Почитал вот здесь:
https://git-scm.com/docs/gitcredentials
https://git-scm.com/docs/git-credential-store
http://support.beanstalkapp.com/article/856-how-do-i-make-git-remember-my-credentials
Включить просто, да и по умолчанию она включена, а вот как отключить - не понятно.
>> No.47849 Ответ
>>47848
Есть два способа склонировать репу: по протоколу https или по git.
В первом случае в файле .git/config в разделе [remote "origin"] будет строка вида url = https://github.com/юзернаме/репонаме и доступ на запись к этой репе будет по логину и паролю, которые будут всегда спрашиваться.
Во втором случае будет url = git@github.com:юзернаме/репонаме.git и для доступа нужно будет залить в настройках гитхаб-акка публичную часть rsa-ключа, пароль спрашиваться не будет.

Так что сделай до этого своего проекта доступ по https, а для всех остальных по git.


Пароль:

[ /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/ ] [ Главная | Настройки | Закладки | Плеер ]