Git Flow and Adobe AEM project

Git/Stash and Agile development suits the dynamics of an AEM project really well.

Hence , thought of showing a simple flow of code to/from version control system to developers systems.


Pre-requisite :

  • Repository is created by Git admin (user with access right to create repo & read/write into it) in Enterprise Git server or Github.
    • A repository may look like {Project-Name}/{repository-name} .ex. {Fadfish}/{POC-Resolver}
  • Pushes Code structure to the git repo created in the last step .

Git Flow for Development Environment

config

Steps :

  1. Developer forks repository in Git Server (using Github/Stash interface) obtaining his own copy of code which always gets synced to the master branch of the original repository(Fadfish repository).
  2. Clones repository (from forked version) into his/her local environment.
    • Works on the master branch or any branch (for feature : use feature/feature-name, bugfixes : use bugfix/issue-no) in the locally cloned code.
  3. Commit and Push changed code to the forked repository.
  4. Sends a PR (Pull Request) to get his/her code merged into the "master" branch of the repository.
    • Source of the PR is /{Developer}/{repository} & Destination is /{Project-Name}/{repository}
    • developer mentions a reviewer to get the code reviewed.
    • code review & communication happens in this stage.
  5. Reviewed "clean" code gets merged with the master branch of the repository. master branch of the organizational repository is considered as the "source of truth" for all the development activities.

Cheers !!


View the discussion thread.blog comments powered byDisqus