我即将使用git来帮助我完成我的新项目,但我不知道如何设计它。
假设我有一个主编码,我决定有 2 个基于主编码的独立 UI,所以我创建了 2 个全新的分支。
我该怎么办,如果最后我想以 2 个生产版本结束?,大多数示例都教在合并后将每个分支合并为 master 并删除分支,但我想以 2 个生产版本结束。
如果我在开发这 2 个分支时更改了 master 中的一些编码,这 2 个分支会自动注意到更改吗?或者我必须在 git 中做任何事情?
谢谢。
“大师”这个名字并没有什么特别之处。您可以拥有两个 UI 分支和一个“主”分支,其中 UI 分支就是您所说的生产版本。如果您想从 master 获取更改,您只需在那里进行更改,然后更改为 UI 分支并将 master 合并到该 UI 分支。
git checkout UI1
git merge master
git checkout UI2
git merge master
关于问题 2,他们不会自动通知和更新。你需要自己做。这实际上是一个功能,因此您的“生产”分支不会在每次有人引入未充分测试的更改时破坏用于生产的分支。
你可以只保留树枝。拥有某种“通用”分支是完全可以的,您可以在其中开发两个生产版本共有的东西,然后在两个生产分支中维护每个版本。
每当您更改 common/master 分支中的某些内容时,生产分支不会自动受到影响,因为它们仍然基于旧版本的 master 分支。因此,如果您也想在这些分支中启用来自 master 的更改(这可能需要也可能不需要一些额外的特定于生产的更改;所以自动并不总是好的),那么您可以将 master 合并到您的生产分支中(即当在您的生产分支上,用于git merge master
将所有更改从 master 合并到您当前的生产分支中)。
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;