天天看點

自動化将Gitee的倉庫導入Github準備工作擷取方式工具源碼用法寫在最後

自動化将Gitee的倉庫導入Github

  • 準備工作
  • 擷取方式
    • gitee的授權碼
    • github授權碼
  • 工具源碼
  • 用法
    • 下載下傳gitee所有倉庫到本地
    • 下載下傳并更新到github(自動建立倉庫)
  • 寫在最後

本方法能實作自動建立倉庫

腳本及用法放在文章最後了,需要的自取

轉跳到結尾

準備工作

  • python環境
    • 解釋器(3.x)
    • requests庫
  • gitee授權碼
  • github access token

擷取方式

gitee的授權碼

自動化将Gitee的倉庫導入Github準備工作擷取方式工具源碼用法寫在最後

設定裡,私人令牌

自動化将Gitee的倉庫導入Github準備工作擷取方式工具源碼用法寫在最後

生成一個,(我這裡已經有了),把那一串類似hash的東西儲存好(但目前為止沒發現有啥用)

注意我們需要的不是這個令牌,而是下一步的。

點藍色的Gitee Open API

自動化将Gitee的倉庫導入Github準備工作擷取方式工具源碼用法寫在最後

會有幫助文檔界面,點申請授權,并且保持預設。

自動化将Gitee的倉庫導入Github準備工作擷取方式工具源碼用法寫在最後

同意之後會發現,原來的access_token字段填上了,這才是我們需要的授權碼

自動化将Gitee的倉庫導入Github準備工作擷取方式工具源碼用法寫在最後

這個是會變動的,暫時儲存就行了

github授權碼

開steam++上github(特别快),登入之後通路下面網址

https://github.com/settings/apps

自動化将Gitee的倉庫導入Github準備工作擷取方式工具源碼用法寫在最後

(因為我已經申請了,是以有顯示),紅圈的下拉菜單選擇下面那個(不帶beta的)

自動化将Gitee的倉庫導入Github準備工作擷取方式工具源碼用法寫在最後

選項都勾上,時間随意選,沒什麼大不了,過期了就重新申請

自動化将Gitee的倉庫導入Github準備工作擷取方式工具源碼用法寫在最後

這個頁面之後,把

ghp_

開頭的複制下來儲存好,當然也是暫時的(事實上你再也無法看見這串東西,是以要儲存好)

帶上ghp_的字首,和後面的字母,構成github的授權碼

工具源碼

源碼檔案位址(gitee):[https://gitee.com/dtsroy/daily-script/blob/master/repo_mover/main.py](https://gitee.com/dtsroy/daily-script/blob/master/repo_mover/main.py)可以直接複制到本地使用 項目位址在 [Gitee](https://gitee.com/dtsroy/daily-script)或[GitHub](https://github.com/dtsroy/daily-script) 喜歡的話可以點個star(倉庫裡還有一些臨時用過的手寫工具,需要的話可以看看)

用法

當然,時間原因隻支援單分支,叫

master

下載下傳gitee所有倉庫到本地

python main.py -d 你的gitee授權碼
           

下載下傳并更新到github(自動建立倉庫)

python main.py -m 你的gitee授權碼 你的github授權碼
           

注意授權碼别過期,并且運作工具前關閉一切代理軟體(包括steam++)

注意授權碼别過期,并且運作工具前關閉一切代理軟體(包括steam++)

注意授權碼别過期,并且運作工具前關閉一切代理軟體(包括steam++)

否則證書認證不通過,或者連不上。

寫在最後

閱讀源碼和相應的api文檔可以發現,二者相似度極高,無非是post/get/delete/put等請求方法加以參數、請求頭等資訊,就能實作代碼托管平台的自動化管理(用python很友善)