def __git_push():
        command = ['git', 'push', '-u', 'origin', branch]
        branch = self.get_current_branch
        Shell.msg('Pushing branch ' + branch + ' to server...')

        if APISettings.DEBUG:
            Git.__debug(command, True)

        if not call(command):
            Shell.success('Push success!')
            return True
        return False
    def __git_tag_delete(git_tag):
        """
        Delete last tag.
        The function call will return 0 if the command success.
        """
        command = ['git', 'tag', '-d', '\'' + git_tag + '\'']
        Shell.msg('Delete tag.')

        if APISettings.DEBUG:
            Git.__debug(command, False)

        if not call(command):
            return True
        return False
    def __git_tag_push():
        """
        Push all tags.
        The function call will return 0 if the command success.
        """
        command = ['git', 'push', 'origin', '--tags']
        Shell.msg('Pushing tags...')

        if APISettings.DEBUG:
            Git.__debug(command, True)

        if not call(command):
            return True
        return False
    def __git_tag_gpg(git_tag):
        """
        Create new tag with GPG signature.
        The function call will return 0 if the command success.
        """
        command = ['git', 'tag', '-s', git_tag, '-m', '\'' + git_tag + '\'']
        Shell.msg('Create signed tag version ' + git_tag + ' with GPG')

        if APISettings.DEBUG:
            Git.__debug(command, False)

        if not call(command):
            return True
        return False
    def __git_tag(git_tag):
        """
        Create new tag.
        The function call will return 0 if the command success.
        """
        command = ['git', 'tag', '-a', git_tag, '-m', '\'' + git_tag + '\'']
        Shell.msg('Create tag from version ' + git_tag)

        if APISettings.DEBUG:
            Git.__debug(command, False)

        if not call(command):
            return True
        return False
    def __git_commit(git_tag):
        """
        Commit files to branch.
        The function call will return 0 if the command success.
        """
        Shell.msg('Commit changes.')
        if APISettings.DEBUG:
            Shell.debug('Execute "git commit" in dry mode.')
            if not call(['git', 'commit', '-m', '\'' + git_tag + '\'', '--dry-run']):
                pass
            return True

        if not call(['git', 'commit', '-m', '\'' + git_tag + '\'']):
            return True
        return False
    def __git_add(args=''):
        """
        Add files to staging.
        The function call will return 0 if the command success.
        """
        command = ['git', 'add', '.']
        Shell.msg('Adding files...')

        if APISettings.DEBUG:
            Git.__debug(command, True)

        for key in args:
            command.append(key)
        if not call(command):
            pass
        return False