【发布时间】:2011-01-29 13:28:15
【问题描述】:
我已经使用 Git 进行版本控制有一段时间了,但到目前为止我只使用单个 master 分支进行所有开发。随着我的项目越来越大,是时候担心稳定/开发分支和发布标记了。
我一直在阅读大量关于 Git 分支的文章,但我似乎无法掌握它们如何工作背后的概念,这让我在尝试正确设置分支时感到有些沮丧。
这是我的情况:我有一个项目是一堆专门用于在特定服务器上创建我们的网站的 rake 任务。现在,我们正在使用基于 Debian 的系统,但我们即将切换到基于 Ubuntu 的系统,所以我想 fork(分支)我的项目并为每个服务器分发创建一个单独的分支,我希望每个分支当我在任一分支中运行git pull 时,能够轻松地从主分支中提取所有通用代码更改。根据我的阅读,这可以通过跟踪 master 分支来实现,但我似乎无法让它正常工作。
除此之外,我还需要开始对不同的项目进行版本控制,以便我可以发布它,但我真的不知道实现这一点的标准 Git 方式。在我以前的公司,我们使用 TFS(我讨厌它),它非常简单:我们将从 master 创建一个分支并将其称为“版本 2”。然后我们会确保版本 2 是稳定的并修复任何错误,然后每隔一段时间,我们会将版本 2 的更改合并回 master 分支。这是实现这一目标的 Git 方式吗?如果是,我该怎么做?
所以,总结一下,我要问以下两个独立(但非常相关)的问题:
- 如何创建一个远程分支(在 GitHub 上)自动跟踪 master 中的更改,以便我可以在新分支中运行
git pull并引入所有 master 更改;和 - 对我的项目进行版本控制的最佳方法是什么?您能否提供一些示例命令?
非常感谢,如果有什么需要澄清的请告诉我!
【问题讨论】:
-
从“基于 debian 的系统”切换到“基于 ubuntu 的系统”是一个奇怪的说法。 Ubuntu 是一个基于 debian 的系统。
-
@William Pursell - 确实如此,因此并没有造成太大问题,但是,存在一些小的差异,我们将使用这两个系统,一个用于生产,另一个用于开发,所以我需要创建一个单独的分支(基本上是为了跟踪配置文件的变化)。
标签: git versioning github