18

我应该在哪里构建我的存储库?我的教程存储库进入了根目录,但我认为既然我将对我的生产站点进行测试,我应该将它们构建在~/sites/.

这可能看起来微不足道,但我见过的大多数 Git 介绍并没有真正指定特定的位置。

4

1 回答 1

14

当您使用 Git 时,您可能会使用多个存储库。

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

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

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

您可能在 Github 上有另一个存储库,您将在其中发布代码。Bob 和您都在该存储库中推送和拉取您的更改。没有仓库。只是具有共同历史并且可以来回共享的回购。

说到 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目录。

于 2014-08-22T17:47:16.317 回答