Publish Software life cycle and a practical git workflow