Top.Mail.Ru
? ?

Entries by tag: git

RoR & lol. Продолжение

Продолжаю развлекаться с RoR.
Поскольку использовать sqlite неинтересно,
решил заправить какую-нибудь другую СУБД,
например MySQL.


После непродолжительного, но яркого секса сделал следующие выводы:
1. Устанавливать всякие gem лучше через rvm (Ruby Version Manager).
В этом случае вероятность ошибок, выдаваемых gem, падает в разы.
С gem для установки mysql я вообще совладать не смог.
Он ругался и на отсутствие native libraries, потом сказал, мол не могу получить доступ к памяти,
пару раз ложился с суровым некрологом "Segmentation fault". Так что rvm, однозначно.
Да, поставить rvm с помощью gem мне тоже не удалось, пришлось тащить из git-репозитория.
Соответственно, для rvm, понадобится ещё и git.
2. При генерации базы данных возможны неочевидные ошибки.
Так мне выдалось сообщение, цитирую:
  $ sudo rake --trace db:create
  ...
  ** Invoke db:create (first_time)
  ** Invoke db:load_config (first_time)
  ** Invoke rails_env (first_time)
  ** Execute rails_env
  ** Execute db:load_config
  ** Execute db:create
  rake aborted!
  can't convert Fixnum into String
  ...

Ошибка обнаружилась в config/database.yml:
...
username: root
password: 123
...
Чего же такого плохого в этом файле? А вот чего -- пароль доступа к базе воспринят как число, вместо строки, лечится заключением в двойные кавычки. При этом, будь это строка, кавычек не потребовалось бы. Так что be careful, внимательно читайте маны и stackoverflow.com :-)

Теперь о хорошем. Процесс разработки пока что оставляет положительные впечатления и не кажется трудным.
Отдыхаю после си и жаб и жду появления граблей. :-)
В процессе участвуют:
 * локальный репозитарий на компьютере разработчика (ЛРР)
 * удалённый git-репозитарий (УР)
 * локальный репозитарий на тестовом сервере (ЛРТС)
В основном поток изменений направлен в одну сторону ЛРР --> УР --> ЛРТС.
Но иногда приходится делать правки на тестовом сервере и сохранять в локальной копии репозитария.
Соответственно, при очередном pull origin ... происходит merge и ветка постепенно засоряется merge-коммитами.
В борьбе за чистоту локальной версии репозитария тестового сервера теперь делаю так:
  1. Получаю изменения из удалённого репозитария.
    git fetch
  2. Перехожу в нужную ветку.
    git checkout <branch>
  3. Обновляю ветку до состояния в удалённом репозитарии.
    git reset --hard origin/<branch>

Tags:

Чего не знал — того не знал:
'Существует замечательная команда: git stash. Дословно, stash— припрятывать, тайник. Команда позволяет сохранять локальные незакоммиченные изменения, сбрасывая при этом состояние рабочей копии до HEAD’а. То есть, сказав git stash мы “припрятываем” все локальные изменения, получая чистую рабочую копию, в которую можно смело делать git pull не опасаясь возникновения ненужных merge’й.

После получения из репозитория-origin’а всех новых изменений мы можем смело “достать” “припрятанные” изменения и наложить их на текущую рабочую копию командой git stash apply.

Убедившись в успешном наложении изменений, можно сделать долгожданный git add -u, git commit и git push, после чего (или сразу после git stash apply) можно со спокойной совестью грохать сохранённые изменения командой git stash drop.'

Ссылка на оригинал

Tags:

Этот гибкий, гибкий git

 Озадачили меня недавно удалением из нашего git-рапозитария неиспользуемых веток.
Делается это, как известно, не просто, а очень просто: git push origin :<название удалённой ветки>
Всё было хорошо до того момента, как на очередной git push git ответил песней:
  "error: unable to push to unqualified destination: <название ветки>
  The destination refspec neither matches an existing ref on the remote nor
  begins with refs/, and we are unable to guess a prefix based on the source ref.
  fatal: The remote end hung up unexpectedly"
И ещё на один, и ещё...
Вызов git branch -r показывал, что ссылки на эти ветки в удалённом репозитарии существуют.
Оказалось, что эти ветки уже удалены, а ссылки на них остались, лечится так: git remote prune origin.
При этом удаляются все ссылки на несуществующие ветки. Подсказку я нашёл на stay-calm.blogspot.com/

Tags:

Profile

Image
Imagecpplang
cpplang

Latest Month

January 2020
S M T W T F S
   1234
567891011
12131415161718
19202122232425
262728293031 

Tags

Syndicate

RSS Atom

Comments

  • cpplang
    11 Jul 2012, 07:04
    Спасибо =) я знаю intuit, очень крутой сервис. тока я по ключам его настроила => а задача была по сертификатам =(, у меня как раз не выходит центр сертификации установить на мой сервер.

    но статья…
  • cpplang
    10 Jul 2012, 10:08
    Ничего подобного, наоборот, удивляюсь.

    Кстати, есть такая классная тётка, Лапонина Ольга Германовна, она в МГУ преподаёт. У неё есть учебник по протоколам безопасного сетевого взаимодействия, и там…
  • cpplang
    10 Jul 2012, 07:20
    чувствую нотки сарказма в ваших словах...

    нет, на винде.
  • cpplang
    9 Jul 2012, 20:15
    ipsec? вот это да, круть какая. не на FreeBSD случаем?
  • cpplang
    9 Jul 2012, 07:19
    на данный момент, пытаюсь настроить ipsec между машинами.

    Извините за глупые вопросы, если что.
Powered by LiveJournal.com
Designed by Emile Ong
Image