0

我正在研究Safari扩展。我在Git上使用Dev和Beta分支。每个分支都有自己的后端和托管 - 因此每个分支都有自己的访问权限,彼此隔离。构建Safari扩展的Git工作流程

当我切换分支:我想参数也遵循。我正在使用扩展生成器中的设置来存储我需要的密钥。

但Safari似乎与plist文件开关混乱。它保持以前的参数是随机的。这又意味着我必须花时间确保事情是他们应该的方式。

什么是最好的设置/工作流程来限制与开发和产品参数混乱?

回答

1

虽然我从来没有这样做我自己,我不能对你的工作流程,Safari扩展评论...我可以告诉你,我喜欢使用Git的工作方式...

  • 我有一个主分支,始终可以部署。
  • 然后我有一个分支大师(我的开发分支),这是我的开发集成分支。
  • 然后我打开这个我的开发分支(每个功能一个)的功能分支
  • 发布是通过将我的开发分支合并到master(经过大量和大量测试之后)然后标记提交完成(我使用git流,所以它对我来说大部分都是这样)
  • 修补程序分支从主服务器上取下并运行。当修补程序完成后,master被合并。然后它被合并到我的开发分支和我的主分支中。
  • 就您的测试版分支而言,我不太确定您为什么拥有这个(不是很尖锐,我真的是这个意思)。我会想象开发分支会或多或少地完成同样的事情?

在任何情况下,您可能都想查看Atlassian's great article on git flow。如果你使用Source TreeSmart Git他们都有gitflow支持 - 这是非常整洁。

+0

感谢您的建议;我有一个类似的设置 - 我的主要问题似乎是当外部服务的参数(用户名,密码,网址等)在两个不同分支上不同时。 – jrgd

+0

好的,首先,你不应该为不同的环境设置不同的分支(也就是说,应该只是通过检测环境来交换它们之间的应用程序,因此应该在那里设置哪些凭证并不重要)。其次,你不应该在版本控制中真正拥有这个信息。考虑使用环境变量。准确地说是 – lenswipe

+0

; diff分支用于不同的环境:设置在Safari扩展plist文件中,文件被跟踪。我的问题是当我切换分支:plist文件切换到当前分支文件(这是预期的行为),但不是在Safari扩展生成器 - 所以它建立在错误的设置... – jrgd