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