Синхронизация сред разработки Rails на двух моих компьютерах - PullRequest
2 голосов
/ 16 ноября 2009

До сих пор я создавал свое Rail-приложение на Mac OS X с помощью TextMate.

Это только я, поэтому я не использовал Git. Я только что открыл и закрыл код в файловой системе, использовал AppleScript, чтобы делать аннотированные снимки в ключевые моменты, и позволил Time Machine позаботиться обо всем остальном.

Я только что заказал ноутбук с Windows, который буду использовать для того же проекта. Я надеюсь синхронизировать все автоматически между двумя компьютерами.

Я предполагаю, что могу синхронизировать сам проект, используя Git, Mercurial или SVN. (Несмотря на это, мне пришлось бы самостоятельно учиться управлению версиями.) Было бы неплохо выполнить эту синхронизацию через сервер, предоставляющий бесплатные учетные записи для небольших частных проектов. Было бы также неплохо, если бы я мог продолжать использовать стандартные диалоги «Открыть» и «Сохранить» в Mac OS X и Windows в начале и в конце каждого куска работы, вместо того, чтобы возиться с командами контроля версий. Любые мысли о том, как сделать это максимально простым?

Кроме того, мне придется синхронизировать версию Rails, версию Ruby, доступные гемы и доступные библиотеки, такие как ImageMagick. Я думаю, что этого можно достичь, указав версию Rails и т. Д. В различных конфигурационных файлах. Опять какие мысли?

Если бы это был только ты, Mac и ПК, какой бы ты был идеальный подход?

Ответы [ 5 ]

4 голосов
/ 13 декабря 2012

Я хотел бы поделиться своим исправлением для этой проблемы. Я только начинаю разработку в Rails, и я использую две машины Windows, одну на работе (учитель) и одну дома. Я просто хочу поиграть с рельсами, но хочу, чтобы то, что я делаю на работе / дома, перенесло на другой компьютер. Я собирался прибегнуть к Dropbox, когда, наконец, наткнулся на решение для меня.

Проблема: синхронизация разработки Rails на двух компьютерах с Git

Решение

Я использовал новое приложение $ rails , чтобы создать свой проект на ПК1. Затем я использовал GIT для коммита и отправки репо на мою учетную запись github. На следующий день, работая на ПК2, я использовал git clone , чтобы клонировать проект на моем ПК2. При тестировании, чтобы увидеть, работает ли мое приложение рельсы, это не так. Еще на ПК2 я зашел на cmd.exe и запустил rails new app в том же каталоге, который только что создал. Я прошел и должен был вручную указать рельсы, чтобы пропустить дубликаты файлов. Конечным результатом было два рабочих приложения rails, которые используют репозиторий github, и я могу редактировать файлы кода на любом ПК и отправлять их обратно, а они работают на другом.

Для человека, работающего соло над проектом, я думаю, что метод dropbox лучше, но я пытаюсь изучить весь процесс разработки, поэтому я хотел добраться до точки, где я использовал git.

3 голосов
/ 16 ноября 2009

Откровенно говоря, нет особенно простого способа достичь того, что вы ищете. Например, гемы и библиотеки, требующие компиляции, просто невозможно отразить на другой компьютер, особенно на другую ОС.

Однако я могу предоставить вам более простой способ управления вашими проектами, если вы не хотите хлопот с управлением версиями, а именно DropBox . Я использую это для одного из моих рельсовых проектов на данный момент. После установки программного обеспечения оно создает папку «dropbox» на вашем компьютере. Каждый раз, когда вы сохраняете в него файл или обновляете уже существующий файл, он сразу же безопасно загружается на свой бесплатный сервер и затем загружается на каждую машину, на которой установлено программное обеспечение. Это позволяет вам продолжать использовать диалоги «Открыть» и «Сохранить», к которым вы привыкли, сохраняя при этом историю каждого обновления, которое вы делаете на сервере.

Это не ответ для контроля версий, и на самом деле это не так. Git и Mercurial по-прежнему стоит изучать, но это хорошая золотая середина и идеально подходит, когда вам не нужно много контроля. Это стоит посмотреть, даже для общего резервного копирования.

P.S. Я не работаю на Dropbox, я просто люблю это.

2 голосов
/ 16 ноября 2009

Я действительно предлагаю открыть бесплатную учетную запись на Github.com и обучить себя git. Изучение командной строки не займет много времени, и как только вы начнете ее использовать, вы поймете, почему командная строка сохраняется и по сей день.

Кроме того, хотя я не использовал его, похоже, здесь есть хороший Git-пакет для TextMate: http://gitorious.org/git-tmbundle

0 голосов
/ 30 сентября 2012

Я думал, что напишу в обновлении к этому старому вопросу. Я действительно использую Dropbox для синхронизации кода и git-репозиториев. Я нахожу эту часть очень простой, и мой код никогда не устареет. Большая проблема связана с зависимостями. В настоящее время это намного проще, чем раньше, потому что, когда вы садитесь за другой компьютер, ваш gem-файл синхронизируется, и вы можете просто «установить пакет». Практически все, что вы забудете, приведет к ошибке, которая напоминает дружеское напоминание о том, что вы должны использовать rvm или установить brew. Вещи, которые вы уже сделали на одной машине, поэтому не займет много времени, чтобы выяснить.

О Git: Git ничего не синхронизирует. Используется для сохранения кода («коммиты») или сохранения альтернативных версий («веток»). Он также используется для передачи удаленных резервных копий (например, Github) или служб развертывания (например, Heroku). Я ненавидел это с энергичной страстью. Я понимал, что это должно было помочь мне контролировать версии, но не знал, как это работает, и не доверял этому. Если бы я работал над большим обновлением, я бы скопировал каталог приложения в резервную копию. Через несколько лет я владею мерзавцем, как повар-суши владеет своим ножом, ловко разделяя ветви, сливая и периодически сбрасывая - ЖЕСТКО.

Изучение Ruby / Rails было гораздо менее трудоемким, чем обучение использованию таких инструментов, как Git, RVM и Homebrew, но они также являются важной частью того, что делает программирование в 21-м веке увлекательным и продуктивным.

0 голосов
/ 16 ноября 2009

Я согласен, что GIT - отличный способ управления версиями, но другой способ - использовать виртуальную машину. Это означает, что вы создаете свою среду разработки под Ubuntu под VMWare или VirtualBox, а затем копируете виртуальный образ с одной машины на другую. Таким образом, вам не нужно настраивать все дважды для разных операционных систем, что может быть настоящей болью. Использование этой техники означает, что все работает одинаково под Mac и Windows, и если у вас есть только изменения исходного кода, вы все равно можете использовать GIT для обновления изображений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...