GIT GUI для сольного проекта: Windows PC для разработки, но git + active, рабочий репозиторий проекта на сервере безголового linux? - PullRequest
1 голос
/ 02 июля 2011

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

  • Моя машина для разработки работает под управлением Windows
  • Проект находится на безголовом сервере Linux в локальной сети
  • Каталоги проектов используются совместно через samba и отображаются как сетевые диски на ПК с Windows
  • Я единственный, кто использует этот сервер, поэтому нет необходимости клонировать репо на ПК с Windows
  • Если я использую git через SSH, то это вообще не проблема

Все клиенты Git с графическим интерфейсом, которые я пробовал, все предполагают, что я запускаю git на компьютере, на котором я их установил. Если я попытаюсь работать с репозиторием, размещенным на linux, с помощью git, установленного в widnows, то он (не неожиданно) работает медленно, как меласса, и, похоже, имеет проблемы с совместимостью.

Есть ли способ заставить это работать для smartgit? Или любой другой порядочный клиент?

Я установил gitweb, который, кажется, достаточно хорош для просмотра истории проекта, но я не могу ничего с этим поделать.

РЕДАКТИРОВАТЬ : Если бы я мог расширить этот вопрос и просто попросить несколько советов о том, как действовать, то есть: смириться с этим и использовать Putty с чем-то еще для визуализации, клонировать репо и нажать / тянуть, или сделать что-то другое, как совет Svick X Server.

Ответы [ 4 ]

7 голосов
/ 03 июля 2011

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

Как примечание: после разработки рабочего решения я все же использовал SSH и общий каталог linux с привязкой к диску для разработки, но было бы полезно иметь локальное место на машине Windows, чтобы поставить работающее Сделки рЕПО. GIT медленный, как патока на окнах для меня, несмотря ни на что, поэтому я буду использовать его как можно меньше - но это только я.

Если ваш bash-foo слаб, как мой, webmin может помочь с нижеследующим. Итак, вот что я в итоге сделал:

Резюме:

  • Веб-проект (в моем случае LAMP-стек)
  • Индивидуальный разработчик
  • 1 Windows ПК, используемый для разработки
  • 1 безголовый сервер Linux для размещения стека и проекта

Назначение:

  • Настройте рабочее репо локально на ПК с Windows, чтобы обеспечить эффективное использование клиентов git GUI и т. Д. Без необходимости делать весь рабочий стек или фиксировать и нажимать, чтобы увидеть, что, черт возьми, только что произошло. PHP на Windows - отстой ( да, да, больше, чем обычно, хар хар ) и многие другие.

Потенциал решения:

  • Нет необходимости дублировать стек LAMP на машине с Windows или винт с базой данных, чтобы иметь работающее локальное хранилище
  • Предварительный просмотр ваших изменений в режиме реального времени без необходимости фиксации или нажатия

Недостаток решения:

  • Локальное (Windows) репо работает только если компьютер находится в сети
  • Возможно, вы заметили небольшую задержку в сети из-за зацикленной природы происходящего здесь

Требования:

  • Статические IP-адреса или MAC-адреса для компьютеров Windows и Linux
  • git, BIND, Samba, Apache (или аналогичный) на коробке linux
  • SSH-клиент (Putty?), Msysgit, Git GUI на выбор (gitextensions / smartgit / gitgui) в окне Windows

Что делать:

  1. Настройка общего каталога в окне Windows для репо
  2. Смонтируйте этот каталог на linux box
  3. Укажите BIND на собственный IP-адрес linux box для вашего двух доменов (например, myproject.lin и myproject.win) - (извините за фальшивые сообщения, но используйте здесь свое собственное усмотрение)
  4. Сделайте Linux-бокс вашим DNS-распознавателем для Windows или вашего сетевого маршрутизатора
  5. Настройте два доменных сервера в Apache (те, что указаны выше) и направьте их в соответствующие места (например, '/ mnt / windows-pc / myproject' и '/ var / www / myproject')
  6. Убедитесь, что конфигурация вашего приложения может отображать относительные пути по очевидным причинам
  7. Samba - поделитесь репозиторием linux и, возможно, подключите его как сетевой диск Windows для удобства
  8. Клонируйте репозиторий вашего linux-бокса в каталог windows
  9. При необходимости внесите изменения обратно в каталог общего проекта linux

Чтобы еще больше усложнить то, что, вероятно, вряд ли нужно, какое-либо объяснение приведено (упрощенная) диаграмма: something to do with pants i thinks

3 голосов
/ 02 июля 2011

Я единственный, кто использует этот сервер, поэтому нет необходимости клонировать репо на ПК с Windows

На самом деле, похоже, в этом есть необходимость. Если вы хотите, чтобы хранилище работало так же быстро, как если бы это было локальное хранилище, самый простой вариант - создать локальное хранилище.

Другим вариантом может быть установка X Server на компьютере Windows и использование туннелирования X по SSH для запуска графического интерфейса пользователя git на сервере Linux, но его отображение в Windows.

1 голос
/ 02 июля 2011

Прелесть DVCS в том, что вы получаете полную локальную копию репо на локальном компьютере. В случае с git почти предполагается, что вы собираетесь клонировать или (как минимум) разместить хранилище локально.

Итак, вы заявили, что для вас не идеально клонировать его, но дело в том, что для того, чтобы графический интерфейс был эффективным, он должен быть запущен там, где репо находится локально.

В зависимости от вашего рабочего процесса / настройки, это может или не может быть осуществимо. Вот мое предложение:

  1. Настройте XAMPP на локальную рабочую станцию, даже если это требует больших затрат времени.
  2. Включите репозиторий и добавьте свою Linux-станцию ​​в качестве удаленной, или (в идеале) настройте что-то вроде gitolite
  3. Развивайся на месте. Думайте об этом как об альфа-стадии. Здесь вы получаете дополнительные преимущества - вы можете просто испортить все свое приложение, и оно не будет запущено. И ваш графический интерфейс!
  4. git push к удаленному репо и та-да, развернутым.

Теперь, есть несколько лучших способов действительно вникнуть в это, если у вас есть ресурсы, и я подробно описал их в других постах . Опять же, если у вас есть возможность сделать что-то подобное, я очень рекомендую это. Если это слишком радикально, вам, возможно, придется идти в ногу с тем, что вы делаете. Надеюсь, это поможет.

PS: я тоже сольный разработчик, и я потратил МНОГО времени на настройку контроля версий. Это окупилось!

0 голосов
/ 02 июля 2011

У меня сопоставимая конфигурация, и я запускаю клон на целевой Linux-системе.Тем не менее, я также занимаюсь разработкой безголового Linux-бокса, используя ssh из Windows.Я бегу Xming на Win7 / 64.Так что для этого действия Windows box - это просто X-терминал.

Я установил gnome-терминал на Linux, потому что меня не устраивает ни putty, ни xmingw bash, работающий вОкно команд Windows.

Оно не идеально, но доказано, что оно работоспособно.

...