我目前正在学习使用 Git,因为它是我将来要管理的项目所必需的。
我希望能够在存储库中拥有分支,这样当有人克隆它时,他们将准备好这些分支以供在本地克隆中使用。现在看起来分支是你只能在客户端做的事情,所以我想知道有什么替代方法。我想这样做是因为需要在服务器上进行测试,该服务器具有测试数据库和其他依赖项。
(如果相关:我在 Ubuntu 12.04 服务器上使用 Gitolite。)
我目前正在学习使用 Git,因为它是我将来要管理的项目所必需的。
我希望能够在存储库中拥有分支,这样当有人克隆它时,他们将准备好这些分支以供在本地克隆中使用。现在看起来分支是你只能在客户端做的事情,所以我想知道有什么替代方法。我想这样做是因为需要在服务器上进行测试,该服务器具有测试数据库和其他依赖项。
(如果相关:我在 Ubuntu 12.04 服务器上使用 Gitolite。)
他们将准备好分支(在您的克隆存储库中声明为“远程”),但默认情况下,克隆仅签出(制作)一个本地分支。
如果您确实需要处理所有远程分支,则需要为所有远程分支声明本地分支(如“将所有远程 git 分支跟踪为本地分支”)。
同样,当您克隆一个 repo 时,您会获得该 repo 的完整历史记录,包括推送到该上游 repo的所有分支。
如“设置 git 以拉取和推送所有分支”中所述,您总是获取(或克隆)所有分支,但并不总是推送所有分支。
这意味着您需要考虑要推送的分支,如果您希望您的协作者在克隆您的存储库时在他们自己的本地存储库中找到所述分支。
最后一条评论:这与 gitolite 无关,它是一个授权层。
请参阅“ gitolite 之类的程序如何工作? ”