@cli.command()<EOL>@click.option("<STR_LIT>", "<STR_LIT>", is_flag=True, default=False)<EOL>@pass_config<EOL>def push(config, force=False):
repo = config.repo<EOL>active_branch = repo.active_branch<EOL>if active_branch.name == "<STR_LIT>":<EOL><INDENT>error_out(<EOL>"<STR_LIT>"<EOL>"<STR_LIT>"<EOL>)<EOL><DEDENT>state = read(config.configfile)<EOL>if not state.get("<STR_LIT>"):<EOL><INDENT>info_out("<STR_LIT>")<EOL>return <NUM_LIT:0><EOL><DEDENT>try:<EOL><INDENT>repo.remotes[state["<STR_LIT>"]]<EOL><DEDENT>except IndexError:<EOL><INDENT>error_out("<STR_LIT>".format(state["<STR_LIT>"]))<EOL><DEDENT>destination = repo.remotes[state["<STR_LIT>"]]<EOL>if force:<EOL><INDENT>pushed, = destination.push(force=True)<EOL>info_out(pushed.summary)<EOL><DEDENT>else:<EOL><INDENT>pushed, = destination.push()<EOL>if (<EOL>pushed.flags & git.remote.PushInfo.REJECTED<EOL>or pushed.flags & git.remote.PushInfo.REMOTE_REJECTED<EOL>):<EOL><INDENT>error_out('<STR_LIT>'.format(pushed.summary), False)<EOL>try_force_push = input("<STR_LIT>").lower().strip()<EOL>if try_force_push not in ("<STR_LIT>", "<STR_LIT:n>"):<EOL><INDENT>pushed, = destination.push(force=True)<EOL>info_out(pushed.summary)<EOL><DEDENT>else:<EOL><INDENT>return <NUM_LIT:0><EOL><DEDENT><DEDENT><DEDENT>
Create push the current branch.