我在 github.com 上创建了一个新的存储库,然后将它克隆到我的本地机器上
git clone https://github.com/usrname/mathematics.git
我在文件夹下添加了3个新文件 mathematics
$ tree
.
├── LICENSE
├── numerical_analysis
│ └── regression_analysis
│ ├── simple_regression_analysis.md
│ ├── simple_regression_analysis.png
│ └── simple_regression_analysis.py
现在,我想使用 Python 将 3 个新文件上传到我的 GitHub,更具体地说, 是 PyGithub 。这是我尝试过的:
#!/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()
我不知道
- 如何获取字符串
sha
repo.get_git_tree
- 如何在第 2 步和第 3 步之间建立连接,即推送特定文件
就个人而言, PyGithub 文档 不可读。经过长时间的搜索,我无法找到合适的 api。
原文由 SparkAndShine 发布,翻译遵循 CC BY-SA 4.0 许可协议
我尝试使用 GitHub API 提交多个文件。 Git 数据 API 的这个页面说它应该“非常简单”。有关该调查的结果,请参阅 此答案。
我建议使用类似 GitPython 的东西:
注意: 此版本的脚本在存储库的父目录中运行。