code: def main():
      
      logging.basicConfig(
          format='[%(asctime)s] %(levelname)s -- %(message)s',
          level=logging.DEBUG)
  
      parser = argparse.ArgumentParser(description='Synchronizes a github repository with a local repository.')
      parser.add_argument('git_url', help='Url of the repo to sync')
      parser.add_argument('branch_name', default='master', help='Branch of repo to sync', nargs='?')
      parser.add_argument('repo_dir', default='.', help='Path to clone repo under', nargs='?')
      args = parser.parse_args()
  
      for line in GitPuller(
          args.git_url,
          args.branch_name,
          args.repo_dir
      ).pull():
          print(line)
docs: Synchronizes a github repository with a local repository.