Most of the various problem solutions are located at: [ https://github.com/iizrailevsky/various-problems/tree/develop/modules/main/src/main/java/com/ilya/coding ]
##Prerequisites
# install home brew
% ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
% brew doctor
% brew update
# install git
% brew install git
% brew install git-flow-avh
# install maven
% brew install maven
# install fpm
% brew install libxml2 libxslt
% brew link --force libxml2 libxslt
% brew install rpm
% sudo gem install fpm
# workaround for ruby find issue. comment out line 40 in:
% vi /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/find.rb
# install cygwin [ http://www.cygwin.com/install.html ], including packages in sections:
# Devel: git, git-completion, git-gui, gut-review, gitk
# Utils: util-linux
# Web: wget
# in cygwin, do:
% git clone git://github.com/petervanderdoes/gitflow.git
% cd gitflow/contrib
% chmod +x gitflow-installer.sh
% ./gitflow-installer.sh install stable
# install maven to C: drive [ http://mirror.ibcp.fr/pub/apache/maven/binaries/apache-maven-3.2.1-bin.zip ]
% vi .bash_profile
# add: export PATH=$PATH:/cygdrive/c/apache-maven-3.2.1/bin
% which mvn
# install java [ http://www.oracle.com/technetwork/java/javase/downloads ]
# [optional] SourceTree
% open http://www.sourcetreeapp.com
##Checkout out project working copy
% git clone https://github.com/iizrailevsky/hello-world.git
% cd hello-world
# initialize git branches. set 1st (production) to master, 2nd (next release) develop, use defaults for rest
% git flow init
# report change status
% git status
# revert changed file
% git checkout -- <filename>
##Build/develop/run project
working with branches provides significant benefits. as such, if you are interested in working with branches then consider the following optional steps:
# [optional] initialize a local feature branch
% git flow feature start [NAME]
# report change status
% git status
% mvn clean package
% java -jar modules/main/target/proto-main-*-SNAPSHOT-all.jar
##Package
# generate package
% ./bin/fpm.sh
##Deploy
# copy your generated rpm to the share data directory
cp modules/main/*.rpm ~/[ws]/data
# on your Linux VM, install the rpm
sudo yum -y install /data/hello-word-main*.rpm
##Verify or change branch
# check your current branch
% git branch
# switch branches (e.g. to develop)
% git checkout develop
##Check-in your changes locally
# get latest updates from others
% git pull origin develop
# report change status
% git status
# register changes
% git add ...
% git commit
# report change status
% git status
##Push your changes to main Git repository
if you're working with branches, then apply the following steps:
# [optional] publish changesets for review
% git flow feature publish
% git flow feature finish
if you're working on default (develop) branch, then do:
% git push origin develop
##Release milestone build
# create milestone release
% ./bin/release.sh
##Store your Git login credentials (on Mac)
# save my icode credentials in the osx keychain
% git config --global credential.helper osxkeychain
# verify it worked afterwards
% git config -l