Настройка Git для не-разработчиков - PullRequest
14 голосов
/ 23 октября 2009

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

Это не проблема для программистов (мы обычно рады узнать что-то новое), но - это проблема для дизайнеров и менеджеров контента, которые фиксируют статический контент, такой как html, css и т. Д. Они едва могут использовать Subversion через TortoiseSVN, поэтому мне нужно максимально упростить git. Это означает, что некоторые понятия должны быть как-то скрыты, например, индекс, тайник, слияния, ребаз, ветки.

Грязные рабочие копии должны автоматически обрабатываться с помощью тайников.

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

Вы можете удивиться, почему я не просто придерживаюсь git-svn: это потому, что дизайнеры должны настроить html / css, который я создаю, прежде чем он будет объединен с транком.

Итак, вопросы: кто-нибудь использовал git с не разработчиками? как вы справляетесь с этим? каков ваш рабочий процесс? git-cvsserver может быть полезен для этого? Есть ли графический интерфейс, который выполняет автоматическое копирование?

Все, что может быть использовано для упрощения git, будет с благодарностью.

Ответы [ 5 ]

6 голосов
/ 23 октября 2009

В основном вам нужно сделать Git:

  • прозрачно для ваших нетехнических пользователей
  • администрируется одним техническим хитрым "суперпользователем"

Это значит:

  • одно центральное Git-репо, куда каждый дизайнер / менеджер контента будет подталкивать (даже если они этого не знают)
  • скрипты, запускаемые каждый день (обычно рано ночью) для:
    • мониторинг центрального "файла инструкций" (который может дать указание указанному сценарию на станции каждого коммиттера изменить ветку или обновить файл .gitignore, или ...)
    • git add -A, git commit
    • git push
    • git pull (им нужно знать, каждое утро пересматривать свое рабочее пространство, чтобы учитывать новые работы, извлеченные из центрального репо)
    • записать результат всех команд в выделенные файлы (датированные и названные в честь коммиттера, в центральном общем каталоге)

Каждое утро суперпользователь проверяет, все ли толчки успешны, и разрешает любой конфликт. Он / она также будет объединять утвержденную работу в местных отделениях центрального репо (включая ту, которая проводится каждую ночь).
Я также рекомендовал бы сделать эти репозитории Git (на рабочих станциях коммиттера) в общем каталоге, чтобы суперпользователь мог иметь к ним доступ и напрямую манипулировать ими, если это необходимо.

4 голосов
/ 23 октября 2009

У нас есть несколько дизайнеров, работающих с git, использующими GitExtensions. У них нет проблем, потому что GitExtensions делает все автоматически, например, сохраняет, толкает и предупреждает пользователя, когда возникает какая-либо проблема / конфликт. Настройки автоматически проверяются при запуске, и мало что можно сделать неправильно. Это намного проще, чем tortoisesvn, когда вы привыкнете к терминам push / pull / commit.

2 голосов
/ 23 октября 2009

Я только что видел этот вопрос всплывающее окно. В нем упоминается flashbake, представляющий собой набор сценариев python (которые вы можете установить для дизайнеров в виде значков для двойного щелчка в соответствии с предложением), которые выполняют множество общих действий git. Я не использовал его, но, похоже, это было бы намного лучше, чем начинать с нуля - и если вы сделаете некоторые улучшения, это поможет другим на вашем месте! Со страницы проекта:

Основной целью скриптов является создание расширенного, но автоматизированного сообщения о коммите для git. Во-вторых, он автоматизирует управление проектом git, поэтому один инвариантный вызов flashbake заботится о наиболее распространенном рабочем процессе git, добавлении и фиксации файлов.

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

2 голосов
/ 23 октября 2009

Вы сказали, что они не будут читать учебные пособия, но, возможно, вы можете прочитать это и объяснить им ..

http://hoth.entp.com/output/git_for_designers.html

Что касается графических интерфейсов, посмотрите на эти сообщения:

https://stackoverflow.com/questions/157476/what-guis-exist-for-git-on-windows

https://stackoverflow.com/questions/83789/what-is-the-best-git-gui-on-osx

1 голос
/ 23 октября 2009

Почему бы просто не позволить им продолжать использовать SVN, а более технически подкованным использовать Git.

Git умеет работать с SVN-репозиториями. Так что держите репозиторий SVN для дизайнеров и репозиторий git для разработчиков. Попросите ваших опытных пользователей управлять толканием и вытягиванием между двумя при необходимости.

TortoiseSVN очень прост, и, похоже, это все, что действительно нужно вашим неопытным пользователям. Какую выгоду они увидят, если перейдут на Git?

(Просто примечание - я не понимаю, почему вы не можете использовать git-svn)

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