-1

我计划将我的 iOS 项目添加到 GIT 中心,并且我是 GIT 分支和标记的新手。请为开发和生产建议一个简单而良好的分支结构。

如果我创建一个用于开发的分支和一个用于生产(主)的分支,是否可以在开发中创建子分支?

帮助是非常可观的。

4

4 回答 4

0

您可以从 git 中的任何提交分支。所有分支都是平等的。你为什么不试试看?

SCM 组织往往是特定于项目的,因此,对你有用的东西都是好的。无论如何,您的客户不应该看到您的整个存储库。

于 2013-07-18T06:39:02.613 回答
0

看看Git 流程此处提供了帮助应用此功能的 Python 脚本。

于 2013-07-18T08:02:02.627 回答
0

假设您的初始工作有一个名为 ios_project.tar.gz 的 tarball。您可以将其置于 git 修订控制之下,如下所示。

$ tar xzf ios_project.tar.gz
$ cd project
$ git init

Git 将回复 Initialized empty Git repository in .git/ 你现在已经初始化了工作目录——你可能会注意到创建了一个名为“.git”的新目录。

让主人保持原样。我建议您创建两个分支,一个用于开发,另一个用于生产。在您的开发分支中进行所有您不确定的代码修改,当您确定您的工作时,将其推送到生产分支并在其上应用标签,以便在稍后阶段跟踪生产线.

除此之外,如果您想与他人共享它,则将存储库作为共享目录。并将其克隆到任何其他开发机器上,创建一个本地分支跟踪这台机器上的开发分支,进行更改,推送到原点。

以下命令集在非常基本的级别上会很有用:

git clone git@repository_path_on_network/folder_name
git branch usrname_activity_dev --track origin/branch_in_repository
git checkout usrname_activity_dev
git add filenames
git commit -m "comments"
git push origin usrname_activity_dev:branch_in_repository
git checkout local_production_branch
git rebase usrname_activity_dev
git push origin local_production_branch:production_branch_on_repo
git tag tag_name
git push origin local_production_branch:production_branch_on_repo  --tags

这些是非常基本的命令。我建议你进一步通过互联网。根据您所处的每种情况,您会发现很多命令。

于 2013-07-18T07:47:37.047 回答
0

首先,Git 中的分支不同于 Subversion 或任何其他 Central VCS 中的分支。猜猜你需要一个主要的分支,然后你可以从那里创建你需要的所有可能的分支。只要记住合并你想要保留的东西。

例如,您为生产分支(猜测解决问题(甚至每个问题都分支))并且您为开发分支(如果需要,再次分支)。稍后,您可以将生产分支中的更改组合(合并)回主分支,以及您想要保留的开发分支中的所有内容。

但是没有最好的方法——这取决于你的用例。我通常按​​问题(生产/问题)进行分支,如果解决了则将其合并回来。我只在需要时添加开发分支(在验收测试之前)。YMMV。

于 2013-07-18T06:47:14.297 回答