是否有首选路径,我应该在Mac OS X上初始化我的Git仓库?

bet*_*208 8 git repository repository-design

我应该在哪里建造我的回购?我的教程repos转到root,但我想我会对我的生产站点进行测试,我应该将它们构建起来~/sites/.

这看起来似乎微不足道,但我见过的Git的大多数介绍并没有真正指定一个特定的位置.

Dav*_* W. 9

当您使用Git时,您可能正在使用多个存储库.

首先,有本地存储库.这是一个存储在本地系统上的完整存储库.您必须拥有一个本地存储库才能使用Git,并且使用此项目的每个人都将在其系统上本地拥有此存储库的副本.这就是Git的工作方式.

把这个本地存储库放在你想要工作的地方.在Subversion术语中,将其视为工作目录.我有一个$HOME/workdir把我所有的项目放在我工作的地方.其中一些是Subversion工作目录(例如,~/workdir/verbox/trunk).其中一些是本地Git存储库.(~/workdir/git-box).这样,我的所有工作都在一个中心位置.

然后,项目可以有各种远程存储库.这些是其他人拥有推送和提取信息的存储库.关于Git的好处是,不一定有一个回购.每个人都有一个本地存储库,您可以自由地将更改提取或推送到其他存储库.例如,假设您正在与Bob合作开展一个项目.鲍勃,你会有一个本地Git回购这个项目.当您希望Bob查看您的更改时,您可以更改送到Bob的本地存储库.如果您想要Bob的更改,请从存储库中提取 Bob的更改.

您可能在Github上有另一个存储库,您将在其中发布代码.鲍勃和你都推送和从那个存储库中取出你的更改.没有回购.只是具有共同历史的回购,可以来回分享.

说到GitHub,如果您希望项目可以公开访问,那么设置Github项目是个好主意.无需担心管理或防火墙等.

如果您想要在Mac上公开访问项目的Git存储库(我不建议这样做),那么请设置一个新用户.为有权访问此存储库的每个用户设置SSH密钥,设置Mac防火墙以允许远程登录.并为该用户放置一个存储库副本.还要将此用户的默认shell设置为/bin/false.除了将更改推送或拉到此存储库之外,您不希望人们对此用户执行任何操作.

那么,你Site目录下的那个目录怎么样$HOME?当OS X第一次出现时,有一种想法,Web开发人员会被它吸引(真的),并且他们想要在系统上运行Apache的httpd守护进程.默认httpd.conf设置为允许每个用户在系统上拥有自己的网页.例如,http://localhost/~beta208/...如果您放置HTTP文件Site,它将在您的本地网页上.

事实证明,这不是Web开发人员想要操作的方式.在Mac OS X的更高版本中,Apache httpd默认不运行,并且Site不会自动配置目录.事实证明,Web开发包含各种各样的东西,Web开发人员将设置他们自己的系统,非常感谢,没有Apple的帮助.该Site目录是存在的,但像一个退化的器官,它并没有真正做任何事情.在Mac OS X上创建的新用户无法获取Site目录.

  • @ beta208只需将`〜/ Repos`文件夹移动到所需位置即可.您在该文件夹中初始化的存储库将跟随它到新位置. (3认同)
  • 整个Repos目录是您的Git存储库_plus_您的工作目录.这就是Git的工作方式.您可以移动整个目录树并保持良好状态.关于你的Git repo的一切 - 文件,它们的历史,分支,更改,都存在于名为`.git`的存储库目录下的一个不可见的目录中.请记住:不要将这些视为Repository目录,就像您工作的目录一样. (2认同)