0

我即将使用git来帮助我完成我的新项目,但我不知道如何设计它。

假设我有一个主编码,我决定有 2 个基于主编码的独立 UI,所以我创建了 2 个全新的分支。

  1. 我该怎么办,如果最后我想以 2 个生产版本结束?,大多数示例都教在合并后将每个分支合并为 master 并删除分支,但我想以 2 个生产版本结束。

  2. 如果我在开发这 2 个分支时更改了 master 中的一些编码,这 2 个分支会自动注意到更改吗?或者我必须在 git 中做任何事情?

谢谢。

4

3 回答 3

2

“大师”这个名字并没有什么特别之处。您可以拥有两个 UI 分支和一个“主”分支,其中 UI 分支就是您所说的生产版本。如果您想从 master 获取更改,您只需在那里进行更改,然后更改为 UI 分支并将 master 合并到该 UI 分支。

git checkout UI1
git merge master
git checkout UI2
git merge master

关于问题 2,他们不会自动通知和更新。你需要自己做。这实际上是一个功能,因此您的“生产”分支不会在每次有人引入未充分测试的更改时破坏用于生产的分支。

于 2013-09-20T17:01:42.903 回答
2

你可以只保留树枝。拥有某种“通用”分支是完全可以的,您可以在其中开发两个生产版本共有的东西,然后在两个生产分支中维护每个版本。

每当您更改 common/master 分支中的某些内容时,生产分支不会自动受到影响,因为它们仍然基于旧版本的 master 分支。因此,如果您也想在这些分支中启用来自 master 的更改(这可能需要也可能不需要一些额外的特定于生产的更改;所以自动并不总是好的),那么您可以将 master 合并到您的生产分支中(即当在您的生产分支上,用于git merge master将所有更改从 master 合并到您当前的生产分支中)。

于 2013-09-20T17:02:20.027 回答
1
git checkout -b core; //Shared code
git checkout -b projectFoo;
git checkout -b projectBar;

git checkout core;
// core like a boss....
git add .;
git commit -am 'shared commit';

git checkout projectFoo;
git rebase core;

git checkout projectBar;
git rebase core;
于 2013-09-20T17:15:11.883 回答