工作流:当基础应用程序更新时,如何在git中保存自定义设置?
许多服务器上都安装了web应用程序。每台服务器都在基础应用程序之上包含一些自定义和配置,例如主题和自定义视图。当基本应用程序升级时,需要检查并可能更新定制 我想通过对应用程序进行git回购并提交定制来维护更改列表,但是如果需要更新基础应用程序并将定制迁移到新版本,我会怎么做 我可以检查提交列表以查看哪些文件已被更改,但我是否可以执行其他有助于此过程的操作工作流:当基础应用程序更新时,如何在git中保存自定义设置?,git,version-control,workflow,upgrade,Git,Version Control,Workflow,Upgrade,许多服务器上都安装了web应用程序。每台服务器都在基础应用程序之上包含一些自定义和配置,例如主题和自定义视图。当基本应用程序升级时,需要检查并可能更新定制 我想通过对应用程序进行git回购并提交定制来维护更改列表,但是如果需要更新基础应用程序并将定制迁移到新版本,我会怎么做 我可以检查提交列表以查看哪些文件已被更改,但我是否可以执行其他有助于此过程的操作 这将是我第一次使用git;到目前为止,我只使用了subversion。一种方法是在masters中维护基础应用程序,并在服务器分支中维护定制,
这将是我第一次使用git;到目前为止,我只使用了subversion。一种方法是在masters中维护基础应用程序,并在服务器分支中维护定制,以便分支
master
,服务器a
,服务器b
等
然后,当您发布新版本时,您可以在master中的新版本上创建服务器分支(git checkout server\u a
然后git rebase master
),进行必要的更改(解决冲突,进行调整)并将每个服务器分支发布到相应的服务器(git push server\u a server\u a\u 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上所做的所有更改并将其压入,向您显示在过程中发现的任何冲突)。这听起来很棒!我必须在实践中尝试一段时间,以掌握它的窍门,但它确实听起来像我想要的。谢谢