Подтвердить что ты не робот

Как организовать рабочее пространство и домашнюю папку?

Как вы организовываете свое личное рабочее пространство для проектов кода в своей домашней папке? И как вы сохраняете рабочую область для обработки нескольких проектов одновременно?


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

Этот вопрос в основном относится к UNIX и OS X. Пользователи на базе Windows могут предлагать предложения, но меня больше всего интересуют домашняя папка и соглашения с командной строкой, которые обычно встречаются в UNIX, а не в окнах (если вы не используете cygwin).

В частности, какую структуру папок вы сочтете полезной при одновременном обслуживании нескольких проектов кода? И когда вы загружаете множество проектов с открытым исходным кодом, как сохранить все деревья исходных текстов, не слишком сильно засоряя рабочую область?

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

Существуют ли полезные соглашения, которые вам удобны для упорядочения различных исходных репозиториев? В частности, с git как вы поддерживаете разные ветки и связанные репозитории? Часто ли вы удаляете рабочие копии и регулярно обновляете исходный контроль? Что ты держишь и почему? И как вы имеете дело с пространствами имен и путями, если конкретный проект имеет множество зависимостей пути, которые вы должны сопоставить с собственной структурой домашних папок?

Как насчет папок с папками и общих библиотек? Как вам это удается, если вам нужно создать множество потенциальных сред разработки для различных проектов (возможно, разные версии PHP, Ruby, Perl, веб-серверов, компиляторов и т.д.).

Для опытных системных администраторов там, что работает из опыта и что не работает?

Как вы храните его как можно проще, но не слишком просто?

И что дает вам максимальную гибкость для работы над несколькими проектами одновременно?

Вы регулярно перемещаете проекты из своего рабочего пространства и reimport из исходного элемента управления. Как предотвратить нарастание крутизны, одновременно уменьшая необходимость слишком часто воссоздавать среду проекта?

Как вы очищаете или удаляете всю рабочую область, чтобы начать с чистого листа, не теряя при этом доступ к ценному исходному коду и эффективности организации, полученной из прошлых проектов?

4b9b3361

Ответ 1

Я сохраняю программное обеспечение, которое я написал в специальном каталоге, названном в честь моего основного сайта, - позвольте ему "жонглировать" ради аргумента. У меня будет ~/жонглирование/программное обеспечение/внутри которого находится подкаталог для каждого проекта, который я пишу (обычно управляемый с помощью git) и ~/juggle/websites/под которым у меня есть подкаталог для каждого домена веб-сайта, будь то raw html или что-то вроде webgen или staticmatic.

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

$ cd ~/juggle/software/wolfsbaen
$ bm # bookmarks this with apparix

Итак, теперь из любого места я могу это сделать

$ to wolfsbaen

Для программного обеспечения, которое я загрузил, у меня есть ~/software/и внутри этого:

  • архивы - для сохранения загруженных исходных архивов
  • - для загруженных HTML-документов и книг в формате PDF.
  • hack - для проектов с выбросом, чтобы попробовать новые идеи или библиотеки программного обеспечения.
  • проекты - для проектов, в которых я сотрудничаю, но не начал сам.
  • simple - для программ bash/python/ruby, которые могут запускаться внутри распакованных каталогов
  • subversions - для всех ревизий контроля версий: cvs, svn, git, hg и т.д.
  • unpacked - для распакованных архивов перед их компиляцией

У меня также есть ~/bin для полезных скриптов, которые я пишу и использую все время. Я добавляю это в PATH в ~/.bashrc

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

$ git clone --bare . /srv/git/wolfsbaen.git

I 'git нажмите' to this в конце каждой рабочей фазы. Это делает /srv/ git очевидным выбором для резервного копирования.

Ответ 2

Я не буду отвечать на все ваши вопросы; Я скажу, однако, что я использую SVN, и я следую их соглашениям для проектов. Поэтому у меня есть папка с именем:

d:\development

И внутри этого все мои проекты - это подпапки (возможно, около 20). В каждом из них есть

\trunk
\branches
\tags

И что это. У меня есть вторая машина у себя дома - это мой сервер (а также медиацентр: P), и на нем у меня есть SVN, работающий под apache, а также trac, чтобы управлять задачами и ошибками в каждом из них. Также у меня CC.net, для сборки.

Ответ 3

Как вы организуете свой личный рабочей области для ваших проектов кода в вашей домашней папке?

Что касается файлов UNIXy, я помещаю папки проекта в ~/dev. Обычно я заканчиваю тем, что проверяю что-то из Subversion в эти папки проекта.

И что дает вам больше всего гибкость для работы с несколькими проекты сразу?

Для веб-проектов поддержка набора Apache основанных на имени виртуальных хостов чрезвычайно удобна для одновременной работы с несколькими проектами. http://foo.localhost/ может указывать на ~/dev/foo/public, http://bar.localhost/ → ~/dev/bar/public и т.д.

Экран GNU также является ключевым для моего локального рабочего процесса разработки. Если мне нужно переключить передачи на другой проект, я просто Ctrl-a, c и буду использовать новый изолированный терминал.

Ответ 4

Я хотел бы поделиться своим опытом в организации системы (даже если вопрос слишком стар, я надеюсь, что это может помочь кому-то, или я могу получить лучшие предложения)

Я постоянно меняю дистрибутивы Linux и иногда использую окна для работы. Таким образом, я разделил HDD на 4 диска.

  • окна
  • Linux
  • main
  • дополнительный


Вся моя работа идет на 3-м диске, который является NTFS, поэтому он может быть доступен как в окнах, так и в Linux. (Возможно, вам понадобится конфигурация fstab, чтобы не путать с правами на доступ к файлам при установке этого диска в Linux). Теперь в этом диске я помещаю следующие папки.

  • Документы
    • все документы, которые я сохранил (например, книги, документы и т.д.)
  • Фотографии
  • Музыка
    • песни
    • плейлисты (в настоящее время используется банши)
  • Фильмы
  • Работа
    • офис
      • офисный проект 1
      • офисный проект 2
    • персональный
      • public (в основном проекты, которые я опубликовал на github)
        • персональный проект 1
        • персональный проект 2
      • частная
        • персональный проект 3
        • персональный проект 4
    • ресурсы
      • в основном репозитории, загруженные из github или любого другого исходного кода или связанного с ним материала.
  • Царапины
    • В принципе, все идет здесь первым, если я не знаю, куда положить или я спешу. Позже я сортирую их по необходимости.
    • Также я устанавливаю программные ссылки в этом каталоге для разных других каталогов, к которым я часто обращаюсь. Причина этого заключается в том, что я установил папку scratch как Desktop
  • Свалка
    • Вещи, которые я уже обращал, но которые когда-нибудь будут уходить, а затем удалите
    • Я продолжаю чистить эту папку в свободное время
  • Dropbox
    • В Dropbox хранятся несколько вещей, которые я получаю с нескольких устройств. Но из-за проблем с безопасностью Dropbox я не могу хранить все в нем. И я до сих пор разрабатываю идеальное решение для этого. Я попытался запустить альтернативные варианты dropbox на своих серверах, но поддерживаю их в hassel. (Также, как я из одной из стран третьего мира, приходится много раз сходить с сетки)
    • В настоящее время я развертываю одно простое веб-приложение для хранения таких вещей, как кавычки/книги, которые мне нравятся. Также я занимаюсь записью во время работы. На данный момент я храню их в Dropbox, но вскоре я перевешу их в свое приложение.

Когда я устанавливаю новые os, сначала я меняю папки по умолчанию и закладки в таких местах, как "Рабочий стол", "Музыка", "Документы" и т.д., на папки основных дисков и настройку "Dropbox". Я устанавливаю папку с записью как рабочий стол
Для файлов конфигурации (редактор/оболочка и т.д.) Вы можете использовать основной диск /dropbox/dotfiles.
Также на стороне примечание, я использую zsh/vim/emacs с несколькими интересными плагинами, чтобы сделать меня более продуктивным.