如何在Github上实现自动提交?

xvw2m8pv  于 2023-06-20  发布在  Git
关注(0)|答案(1)|浏览(159)

我有一个Python脚本(位于我的桌面PC上),它会自动启动并每天进行一些计算,并在同一个文件夹中输出一个txt文件。我想找出一种方法来自动提交这个输出文件到我的github仓库(在我的手机上查看)。这样做的原因是我不想在我的手机上运行python脚本,但我希望能够在无法访问桌面时查看脚本输出。
我该怎么做?

4xy9mtcn

4xy9mtcn1#

https://docs.github.com/en/rest/repos/contents?apiVersion=2022-11-28#create-or-update-file-contents
您应该能够在每天的某个时间很容易地启动一个bash脚本来执行此操作。这是一个简单的例子,命令取自文档。如果你不是在linux上,那么你肯定可以在powershell中同样容易地做到这一点。我不会复制和粘贴这个,因为我可能犯了一个错误,这就是它看起来的样子。在Python中也可以实现。

#!/bin/bash

folder="/path/to/file/"  
file="file.txt"

commit() {
    cd "$folder" || exit 1
    git add "$file"
    git commit -m "Auto-commit"
    commit_sha=$(git rev-parse HEAD)
    commit_id=$(git log --format="%H" -n 1)
    echo "File committed at $(date)"
    echo "Commit SHA: $commit_sha"
    echo "Commit ID: $commit_id"
}

current_time=$(date +"%H:%M")

if [[ $current_time == "?desired time?" ]]; then
    commit
else
    echo "No commit scheduled for today."

curl -L \
  -X PUT \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer <YOUR-TOKEN>"\
  -H "X-GitHub-Api-Version: 2022-11-28" \
  https://api.github.com/repos/OWNER/REPO/contents/PATH \
  -d '{"message":"a new commit message","committer":{"name":"Monalisa Octocat","email":"octocat@github.com"},"content":"$commit_id","sha":"$commit_sha"}'```

fi

相关问题