¿Cómo envío nuevos archivos a GitHub?

Creé un nuevo repositorio en github.com y luego lo cloné en mi máquina local con

git clone https://github.com/usrname/mathematics.git

Agregué 3 archivos nuevos debajo de la carpetamathematics

$ tree 
.
├── LICENSE
├── numerical_analysis
│   └── regression_analysis
│       ├── simple_regression_analysis.md
│       ├── simple_regression_analysis.png
│       └── simple_regression_analysis.py

Ahora, me gustaría subir 3 archivos nuevos a mi GitHub usando Python, más específicamente,PyGithub. Esto es lo que he intentado:

#!/usr/bin/env python
# *-* coding: utf-8 *-*
from github import Github

def main():
    # Step 1: Create a Github instance:
    g = Github("usrname", "passwd")
    repo = g.get_user().get_repo('mathematics')

    # Step 2: Prepare files to upload to GitHub
    files = ['mathematics/numerical_analysis/regression_analysis/simple_regression_analysis.py', 'mathematics/numerical_analysis/regression_analysis/simple_regression_analysis.png']

    # Step 3: Make a commit and push
    commit_message = 'Add simple regression analysis'

    tree = repo.get_git_tree(sha)
    repo.create_git_commit(commit_message, tree, [])
    repo.push()

if __name__ == '__main__':
    main()

No lo sé

como conseguir la cuerdasha pararepo.get_git_tree¿Cómo hago una conexión entre los pasos 2 y 3, es decir, empujando archivos específicos

Personalmente,Documentación de PyGithub No es legible. No puedo encontrar la API correcta después de buscar durante mucho tiempo.

Respuestas a la pregunta(6)

Su respuesta a la pregunta