人们用〜/ git做他们所有的开发吗?如果您需要使用dev,test,release和one-off-for-big-client版本,这些是〜/ git,还是可以在他们自己的树中的其他地方?第三方组件在哪里?这对于SO来说太大了(我是否需要阅读一本书),还是可以用ASCII树图来回答?
答案 0 :(得分:12)
我同意T.E.D.的答案,因为我更愿意将每个项目保留在开发目录中。但是,当我在终端查看bash列表时,我喜欢轻松看到三件事:
我发现通过对我的项目使用以下命名约定,我可以很容易地做到这一点:
~/development/project.whatwhere.who
由于在使用Mercurial克隆本地项目时很常见,因此我在目录结构中添加了一个图层:
~/development/project.whatwhere.who/project/ # Initial clone from remote repo
~/development/project.whatwhere.who/project.local.blah_descriptor/ # Local hg clone
我使用的whatwhere
约定如下:
who
约定只是所需人员的用户名。
以下是一些项目示例,全部位于我的~/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
如果您的项目太多,为了帮助整理您的项目,您可能需要在~/development
目录下方添加一个图层以供组织。例如,您可以拥有以下目录:
~/development/workprojects/
~/development/opensrcprojects/
~/development/personalprojects/
注意:我通常使用Git进行DVCS,因此这个答案很可能倾向于这个方向。
答案 1 :(得分:8)
由于Git的工作方式,您实际上不希望将存储库(或分支)的工作目录放在目录下另一个存储库的工作目录中。它会继续想要将子目录的内容放入父存储库中。
如果你选择所有分支作为兄弟目录,那就可以了。
我倾向于做什么(无论使用Git,cvs还是(ick)SourceSafe)都有一个Development目录,每个项目,分支等都是其中的一个子目录。