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