¿La gente hace todo su desarrollo en ~ / git? Si necesita trabajar con versiones de desarrollo, testing, lanzamiento y uso único para grandes clientes, ¿están bajo ~ / git, o pueden estar en otra parte de sus propios treees? ¿A dónde van los componentes de terceros? ¿Es esto demasiado grande para SO (¿necesito leer un libro), o puede responderse con un diagtwig de tree ASCII?
Debido a la forma en que funciona Git, realmente no desea colocar directorys de trabajo para repositorys (o sucursales) en un directory bajo el directory de trabajo para otro repository. Seguiría queriendo poner el contenido de su directory hijo en el repository de los padres.
Si vas con todas las sucursales siendo directorys hermanos, eso funcionaría bien.
Lo que tiendo a hacer (independientemente de usar Git, cvs o (ick) SourceSafe) es tener un directory de Desarrollo, y cada proyecto, twig, etc. debe ser un subdirectory allí.
Estoy de acuerdo con la respuesta de TED ya que prefiero mantener cada proyecto en un directory de desarrollo. Sin embargo, cuando estoy en la terminal mirando una list de bash, me gusta ver fácilmente tres cosas:
Descubrí que puedo hacer esto fácilmente mediante el uso de la siguiente convención de nomenclatura para mis proyectos:
~/development/project.whatwhere.who
Como es común usar Mercurial para clonar un proyecto local, agrego una capa a la estructura del directory como:
~/development/project.whatwhere.who/project/ # Initial clone from remote repo ~/development/project.whatwhere.who/project.local.blah_descriptor/ # Local hg clone
La convención whatwhere
que uso es la siguiente:
La convención de who
es simplemente el nombre de usuario de la persona deseada.
A continuación hay algunos ejemplos de proyectos, todos residen en mi directory ~/development/
:
fabric.github.bitprophet # Bitprophet's fabric project cloned from Github fabric.github.myusername # My fork of the fabric project from Github virtualenv.hgbit.ianb # Ianb's virtualenv project cloned from Bitbucket growl.hg.gcode # Growl project cloned from Google code ledgersmb.svn.sforge # LedgerSMB project checked out from Sourceforge coldfire.gitsvn # Coldfire Subversion project at work cloned using git-svn coldfire.svn # Coldfire Subversion project at work checked out with svn
Para ayudar a organizar sus proyectos si obtiene demasiados, es posible que desee agregar una capa inmediatamente debajo del directory ~/development
para la organización. Por ejemplo, podría tener los siguientes directorys:
~/development/workprojects/ ~/development/opensrcprojects/ ~/development/personalprojects/
Nota : Normalmente uso Git para DVCS, por lo que esta respuesta probablemente esté inclinada en esa dirección.