许多服务器上都安装了一个Web应用程序。每个服务器都包含一些基础应用程序之上的自定义和配置,例如主题和自定义视图。当基础应用程序升级时,需要检查并可能更新自定义。
我想通过从应用程序中提取git repo并提交自定义来维护更改列表,但如果需要更新基本应用程序并将自定义迁移到新版本,我该怎么办?
我可以检查提交列表以查看哪些文件已被更改,但是我可以做一些有助于此过程的其他内容吗?
这将是我第一次使用git;到目前为止我只使用了颠覆。
答案 0 :(得分:1)
一种方法是在主服务器中维护基本应用程序,在服务器分支中维护自定义项,以便分支master
,server_a
,server_b
等。
然后,当您发布新版本时,您可以rebase服务器在master中的新版本上分支(git checkout server_a
然后git rebase master
),进行必要的更改(解决冲突,进行调整) )并将每个服务器分支释放到相应的服务器(git push server_a server_a_repository
)。
分支看起来像:
H sever_a
/
-A-B-C-D-E-F-G- Master
\
I server_b
底垫
H' sever_a
/
-A-B-C-D-E-F-G- Master
\
I' server_b
从git rebase页面:
它通过转到两个分支的共同祖先(你正在使用的那个和你正在重新定位的那个分支)来工作,获得你所在的分支的每个提交所引入的差异,保存那些差异到临时文件,将当前分支重置为与要重新绑定到的分支相同的提交,最后依次应用每个更改。图3-29说明了这个过程。
所以基本上它会尝试应用您的自定义提交(H
和I
),就像它们是在新提交G
之后创建的一样。它通过手动执行您想要执行的操作来完成此操作(获取在master上进行的所有更改并在应用自定义之前将其压缩,向您显示在途中发现冲突的所有位置。)