Как вы организуете свою личную рабочую область для своих проектов кода в своей домашней папке? И как сохранить эффективность рабочего пространства для одновременной работы с несколькими проектами?
Самый важный аспект моего вопроса выше. Вы можете прекратить чтение, если вы не хотите обратиться к конкретным подразделам темы. Ниже приведены различные связанные вопросы об организации рабочих пространств. Не нужно обращаться ко всем из них. Заинтересованы даже в частичных ответах на некоторые из следующих связанных вопросов.
Этот вопрос в основном относится к UNIX и OS X. Пользователи на базе Windows могут предлагать предложения, но меня больше всего интересуют соглашения о домашних папках и командной строке, обычно встречающиеся в UNIX, а не в Windows (если вы не используете cygwin).
В частности, какую структуру папок вы считаете полезной при одновременной поддержке нескольких проектов кода? И когда вы загружаете различные проекты с открытым исходным кодом, как сохранить все различные деревья исходного кода организованными, не загромождая ваше рабочее пространство?
В частности, мне интересно, какие хитрости или подсказки могут быть у вас для облегчения доступа к проектам через командную строку и их удобного просмотра, когда вы уходите с дороги, когда вам нужно сосредоточиться на конкретном проекте.
Существуют ли полезные соглашения, которые вам удобны для упорядочения различных исходных репозиториев? В частности, с git, как вы поддерживаете различные ветки и связанные репозитории? Вы часто сдуваете рабочие копии и регулярно обновляетесь из системы контроля версий? Что вы держите вокруг и почему? И как вы справляетесь с пространствами имен и путями, если у конкретного проекта есть много зависимостей путей, которые вы должны сопоставить со своей структурой домашней папки?
А как насчет папок bin и общих библиотек? Как вам это удается, если вам нужно создать множество потенциальных сред разработки для различных проектов (возможно, разных версий PHP, Ruby, Perl, веб-серверов, компиляторов и т. Д.).
Для опытных системных администраторов, что работает по опыту, а что нет?
Как вы делаете это максимально простым, но не слишком простым?
А что дает вам наибольшую гибкость для работы над несколькими проектами одновременно?
Регулярно ли вы перемещаете проекты из рабочей области и повторно импортируете из системы контроля версий. Как предотвратить накопление хлама при одновременном снижении необходимости воссоздания среды проекта слишком часто?
Как вы моете или выбрасываете всю свою рабочую область, чтобы вы могли начать с чистого листа, не теряя доступа к ценному исходному коду и организационной эффективности, полученной из прошлых проектов?