2012-02-15 4 views
2

저는 안드로이드 마켓에 무료 및 프로 버전으로 내 앱을 게시했습니다. 모든 소스 코드는 하나의 git 저장소에 저장됩니다.복수 시장을위한 안드로이드 애플 리케이션을 유지하십시오 (Git에서)

이제 다른 앱 시장에 앱을 게시하고 싶습니다. 몇 파일 만 변경되기 때문에 (Android 라이선스) 나는 이것을 보관하는 가장 좋은 방법이 무엇인지 생각 중입니다.

한 가지 방법은 Android Library Projects 일 것입니다. 하지만 git을 사용하여 유사한 효과를 보관할 수 있습니다. 그래서 하나의 코드베이스를 공유하고 몇 개의 파일 만 다른 두 개의 저장소를 보유 할 수 있습니까? 저는 현재 git에 익숙하지 않으므로 정확하게 수행해야 할 작업이나주의해야 할 부분을 정확하게 설명하십시오.

감사합니다.

+0

다른 앱 시장을위한 또 다른 _branch_를 설정하십시오. –

답변

4

앱의 모든 변형에 하나의 git repo를 사용하면 광산을 저장하는 방법이 있습니다. 예를 들어 내 앱 중 하나는 무료 및 프로 버전으로 Android 마켓 및 Amazon 앱 스토어에서 사용할 수 있습니다. 자식, 나는이 3 가지가 있습니다

마스터 무료 버전은

  • 프로
  • AMZN

    • 마스터 프로는 안드로이드 마켓에서 유료 버전이며, AMZN은 무료입니다 Amazon 앱 스토어의 버전.

      마스터의 모든 기능이 변경되었습니다. 릴리스 준비가되면 무료 버전을 빌드하고 테스트 한 다음 릴리스 번호로 마스터 태그를 지정합니다. 그런 다음 pro로 전환하고 git merge master를 실행하여 모든 새로운 변경 사항을 적용합니다.

      프로는 유료 버전이기 때문에 처음으로 마스터에서 분기했을 때 광고 관련 코드를 주석 처리 했으므로 (몇 줄에 불과했기 때문에 리팩터링이 필요하지 않다고 생각 함) 및 임의의 문자열을 변경했습니다. 단지 "일부 앱"대신 "일부 앱 프로"를 참조하십시오.

      병합 중에는 일반적으로 충돌이 없으며 원래 수정 사항이 유지됩니다. 그러나 그렇지 않다면 충돌을 해결하고 프로 브랜치를 광고없이 다시 얻을 수 있습니다.

      amzn 브랜치와 마찬가지로, 원래 Google 시장에 대한 참조를 삭제하고 출시 할 준비가 될 때마다 마스터에서 병합을 수행합니다.

      다음 pro 및 amzn 모두 테스트 및 태그를 작성할 수 있습니다.

      패키지 이름을 고유하게 유지하려면 (필자는 실제로 필요하지 않거나 그렇지 않음) 먼저 필자의 활동을 가져 와서 새로운 패키지 (예 : com.whatever.free.appname, com.whatever.pro)로 옮겼습니다. .appname ...

  • +0

    솔기가 굉장한 양의 작품 (스트레스)을 좋아합니다. –

    0

    새로운 버전의 응용 프로그램에 대한 새 분기를 설정하고 다른 변경 사항을 적용하십시오. 그런 다음 master 브랜치에서 계속 작업하고 두 브랜치를 해제하기 전에 새 브랜치를 리베이스하십시오.

    +0

    rebase? 그것은 원치 않는 변경으로 다시 작성됩니다. –