Tôi tạo ra một kho lưu trữ mới trên github.com và sau đó nhân bản nó vào máy địa phương của tôi vớiLàm cách nào để đẩy các tệp mới vào GitHub?
git clone https://github.com/usrname/mathematics.git
tôi đã thêm 3 file mới trong thư mục mathematics
$ tree
.
├── LICENSE
├── numerical_analysis
│ └── regression_analysis
│ ├── simple_regression_analysis.md
│ ├── simple_regression_analysis.png
│ └── simple_regression_analysis.py
Bây giờ, tôi muốn tải lên 3 tệp mới vào GitHub của tôi bằng Python, cụ thể hơn, PyGithub. Dưới đây là những gì tôi đã cố gắng:
#!/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()
Tôi không biết
- làm thế nào để có được chuỗi
sha
chorepo.get_git_tree
- làm thế nào để tôi thực hiện một mối liên hệ giữa bước 2 và 3, tức là đẩy các tệp cụ thể
Cá nhân, PyGithub documentation không thể đọc được. Tôi không thể tìm thấy api phù hợp sau khi tìm kiếm trong thời gian dài.
Để có được 'sha' bạn sẽ cần phải sử dụng' hashlib' –
@WayneWerner đó chắc chắn * không * những gì anh ấy nên làm. 'Sha' được tính bằng' git' và bạn gần như chắc chắn sẽ sai nếu bạn cố tính nó. –
@BrianMalehorn Tôi đã có một kịch bản bash mà sẽ tải lên cam kết git của tôi thông qua CURL và api github, IIRC - nó không * mà * xấu. –