我有一个iOS应用程序,我需要部署到几个客户端。每个客户端在应用程序中都有一些小的更改(图像,配置文件,应用程序名称等)。 95%的应用程序对所有客户都是一样的。
我不想维护几个git存储库(每个客户端一个)。我宁愿拥有一次,每个客户都有分支机构。
我是这个分支的新手,需要知道是否可以实现这一目标。
然后当我做出改变时,我将把它交给主人。然后将更改从主服务器提取到每个分支。当我从主人那里拉出来时,如何阻止图像,配置等被覆盖。我可以定义某些文件,当我为每个分支执行此操作时可以忽略这些文件吗?
有没有更好的方法来管理我需要做的事情?
答案 0 :(得分:2)
你应该拉出master
,然后 rebase 你的分支。
有关具体示例,请参阅“Git: How to rebase many branches (with the same base commit) at once?”。
为了提高安全性,您可以添加与文件关联的合并驱动程序“keepMine
”,并在每个分支中的.gitattributes
文件中声明合并驱动程序。
请参阅“How do I tell git to always select my local version for conflicted merges on a specific file?”。
这将改变客户端分支的SHA1,并且你必须强制将它们推送到客户端仓库,但由于所述客户端没有主动修改文件,所以这不是问题。