git 使用 python 推送

git push using python

我有本地 git 存储库。我正在使用 python 使用 gitpython 库提交本地回购。我想将提交推送到 github。我如何使用 gitpython 或任何其他库来执行此操作。 我在网上看了看,但没有可用的解决方案。谁能帮我这个。 提前致谢

from git import Repo,remote

rw_dir = 'path/to/your/local/repo'
repo = Repo(rw_dir)

'''Enter code to commit the repository here.
After commit run the following code to push the commit to remote repo.
I am pushing to master branch here'''

origin = repo.remote(name='origin')
origin.push()

用于使用 python 提交和推送到 GitHub 的代码如下,

import subprocess as cmd
def git_push_automation():
    try:
        cp = cmd.run("file path", check=True, shell=True)
        print("cp", cp)
        cmd.run('git commit -m "message"', check=True, shell=True)
        cmd.run("git push -u origin master -f", check=True, shell=True)
        print("Success")
        return True
    except:
        print("Error git automation")
        return False

如果您使用基于密码的身份验证

import subprocess,os,commands

git_push = " cd /to/the/repo/directory/ ;  git add -A ; git commit -m 'my message' ; git push --repo  https://<username_here>:<password_here>@bitbucket.org/fullpath/to/your_repo.git --all "
  
git_push_status = commands.getstatusoutput(git_push)

print(git_push_status[1])

主要是正确替换回购 URL,例如,如果您的回购和凭据是

username_here : manjunath

password_here : password@123

然后 git push URL 应该是这样的,注意密码中的特殊字符需要替换(我已经将密码中的 @ 替换为 %40 在 URL)

https://manjunath:password%40123@bitbucket.org/fullpath/to/your_repo.git