gitpython基本使用

1.入门代码

from git import Repo
import datetime
# current_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")

# git 提交工具类
def commit_git(path,origin,branch):
    repo = Repo(path)
    print('=====================开始add,path='+path)
    index = repo.index
    index.add(['*'])
    print('=======add结束,开始commit')
    index.commit('python自动提交'+datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
    print('=======commit结束,开始push,origin='+origin+',branch='+branch)
    remote = repo.remote(origin)
    
    remote.push(branch)
    print('=====================push结束,path='+path)

if __name__ == "__main__":
    path = r'E:\Use\caogao\demo2'
    origin = 'origin'
    branch = 'master'
    commit_git(path,origin,branch)
    
    # print(current_time)

2.常用异常

Traceback (most recent call last):
  File "CommitGit.py", line 20, in <module>
    commit_git(path)
  File "CommitGit.py", line 15, in commit_git
    remote.push()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\git\remote.py", line 1118, in push
    return self._get_push_info(proc, progress, kill_after_timeout=kill_after_timeout)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\git\remote.py", line 927, in _get_push_info
    proc.wait(stderr=stderr_text)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\git\cmd.py", line 604, in wait
    raise GitCommandError(remove_password_if_present(self.args), status, errstr)
git.exc.GitCommandError: Cmd('git') failed due to: exit code(128)
  cmdline: git push --porcelain -- origin
  stderr: 'fatal: The current branch master has no upstream branch.'

解决是remote.push(branch)传入对应分支

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东芃9394

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值