實現自動git push的python指令碼

2021-10-02 13:39:38 字數 2556 閱讀 4396

os實現免密登入的方法

關於作者

我想用python指令碼實現自動push,首先我有乙個完整的code但是我想每天都執行一次,並將執行之後專案的改變進行 push 更新。

解決思路:

模擬 git add/commit -m/push 的過程

解決免密push的問題

整合需求編寫**

開始介紹前,先設定好自己的賬號和郵箱(做好準備)

git config --global user.name 

git config --global user.email

gitpython是git版本控制庫的python版本,可以通過它實現git的任何操作,十分方便

安裝

pip install gitpython
呼叫 | 例子在專案根目錄下建立這個檔案

from git

import repo

import os

dirfile = os.path.abspath('')

# code的檔案位置,我預設將其存放在根目錄下

通過git status 也可以觀察到,我們新增了test檔案,現在我就用python shell實現git push

ps: 需要注意的是,如果沒有設定免密,是會彈出登入頁面的(就和命令列操作一樣),但是在code中沒辦法輸入賬號密碼啊,所以需要設定免密。

輸入賬號密碼之後,檢視**庫提交記錄

提交成功!!!

關於gitpython的更多詳細內容

官網手冊

os庫可以稱為萬能庫,因為git add/commit -m/push 一般都是在命令列中完成的

只要引用os.system(』』) 即可實現需求

code on python shell

只要通過os.system(』』)呼叫命令即可。下面就通過os庫刪除test檔案並提交push

配置ssh-key

生成key

ssh-keygen -t rsa -c "github賬號的郵箱"
複製rsa.pub(public key 公鑰)的內容

將public key新增到github上

參考資料:

.gitconfig設定記住密碼

執行命令,配置 user.name 和 user.email

git config --global user.name 

git config --global user.email

配置免密登入資訊

# 寫入快取,實現暫時記住賬號密碼(15分鐘)

git config --global credential.helper cache

# 寫入磁碟, 永久記住密碼

git config --global credential.helper store

我配置的是第二個,檢視~/.gitconfig 的內容為

win的.gitconfig位置在 c:\administrator\下

[user]

name =

email =

[credential]

helper = store

push一次,配置後的第一次push需要登入,之後就會記住密碼實現免密push

取消免密登入

你也可以通過github|csdn關注我的動態

批處理實現自動Git push

用git用的多,每次修改檔案後都需要敲幾條命令 git add git commit git push 太麻煩了 於是想到使用批處理 bat 來自動化這個過程 注意 windows環境下 在git本地倉庫目錄下新建乙個bat檔案,如gitupdate.bat 新增內容 1 git add 2 git...

git push 鉤子的實現

例如 問題 這種看著沒問題,但是不好使 system cd opt www chat git pull 辦法 執行命令 cd到目標檔案,git pull system cd opt www chat git pull 2 1 問題 執行上述檔案後會一直提示你金鑰驗證失敗,事實上你在命令列執行一點問題...

itemcf的hadoop實現優化 Python

原始資料如下 u1 a,d,b,c u2 a,a,c u3 b,d u4 a,d,c u5 a,b,c 計算公式使用 sim u i u j u i u j 其中 u i u j u i u j u i u j 原始的hadoop實現需要5輪mr,優化後只需要兩輪就可以完成。之前的輪數過多,主要在於...