Python使用GitPython操作Git版本庫

1、導(dǎo)包
from git import *
2金拒、初始化git倉庫

CURRENT_DIR = os.path.dirname(os.path.abspath(__file__))
empty_repo = Repo.init(os.path.join(CURRENT_DIR, 'bbs'))    # bbs目錄不存在則新建

3兽肤、如果git倉庫已存在,直接獲取
repo = Repo(os.path.join(CURRENT_DIR, 'bbs'))
4绪抛、獲取當(dāng)前遠(yuǎn)程庫
repo.remotes # 獲取當(dāng)前有哪些遠(yuǎn)程庫 = git remote -v命令资铡,返回一個repo列表
5、新建遠(yuǎn)程庫

 # 新建遠(yuǎn)程庫 = git remote add origin git_url, 返回Remote對象(<class 'git.remote.Remote'>)
origin = repo.create_remote('origin', git_url)   

6幢码、fetch
origin.fetch()
7笤休、建立一個關(guān)聯(lián)遠(yuǎn)程分支的本地分支,分三步

empty_repo.create_head('master', origin.refs.master) # create local branch "master" from remote "master"
empty_repo.heads.master.set_tracking_branch(origin.refs.master) # set local "master" to track remote "master
empty_repo.heads.master.checkout() # checkout local "master" to working tree

# 以上三步可以簡化為一行代碼
repo.create_head('master', origin.refs.master).set_tracking_branch(origin.refs.master).checkout()    # 建立本地master分支症副,關(guān)聯(lián)遠(yuǎn)程master分支宛官,checkout

8、獲取所有遠(yuǎn)程分支

origin.refs    # 返回所有遠(yuǎn)程分支列表
 [<git.RemoteReference "refs/remotes/new_origin/develop">, <git.RemoteReference "refs/remotes/new_origin/master">]

9瓦糕、獲取所有本地分支(git.HEAD)和遠(yuǎn)程分支(git.RemoteReference)
repo.refs # 返回所有本地分支列表
10底洗、獲取本地heads
repo.heads # 返回Head列表
11、獲取當(dāng)前head指向
repo.head.reference
12咕娄、切換分支

a亥揖、本地存在此分支
repo.head.reference = repo.heads.develop
b、本地不存在圣勒,需要從遠(yuǎn)程拉去
repo.create_head('master', origin.refs.master).set_tracking_branch(origin.refs.master).checkout()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末于宙,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子吁峻,更是在濱河造成了極大的恐慌,老刑警劉巖用含,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件矮慕,死亡現(xiàn)場離奇詭異,居然都是意外死亡啄骇,警方通過查閱死者的電腦和手機(jī)缸夹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進(jìn)店門猫态,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人亲雪,你說我怎么就攤上這事灌砖』裕” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵恢暖,是天一觀的道長挨队。 經(jīng)常有香客問我,道長蝶俱,這世上最難降的妖魔是什么饥漫? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任不见,我火速辦了婚禮,結(jié)果婚禮上酪惭,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好鲫懒,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布嫩实。 她就那樣靜靜地躺著,像睡著了一般窥岩。 火紅的嫁衣襯著肌膚如雪甲献。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天颂翼,我揣著相機(jī)與錄音晃洒,去河邊找鬼。 笑死朦乏,一個胖子當(dāng)著我的面吹牛球及,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播集歇,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼桶略,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了诲宇?” 一聲冷哼從身側(cè)響起际歼,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎姑蓝,沒想到半個月后鹅心,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡纺荧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年旭愧,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宙暇。...
    茶點(diǎn)故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡输枯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出占贫,到底是詐尸還是另有隱情桃熄,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布型奥,位于F島的核電站瞳收,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏厢汹。R本人自食惡果不足惜螟深,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望烫葬。 院中可真熱鬧界弧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽设凹。三九已至舰讹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間闪朱,已是汗流浹背月匣。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留奋姿,地道東北人锄开。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像称诗,于是被迫代替她去往敵國和親萍悴。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容

  • Git 基礎(chǔ) 基本原理 客戶端并不是只提取最新版本的文件快照寓免,而是把代碼倉庫完整的鏡像下來癣诱。這樣一來,任何一處協(xié)同...
    __silhouette閱讀 15,860評論 5 147
  • Git 命令行學(xué)習(xí)筆記 Git 基礎(chǔ) 基本原理 客戶端并不是只提取最新版本的文件快照袜香,而是把代碼倉庫完整的鏡像下來...
    sunnyghx閱讀 3,905評論 0 11
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理撕予,服務(wù)發(fā)現(xiàn),斷路器蜈首,智...
    卡卡羅2017閱讀 134,628評論 18 139
  • 很多寶媽想了解0-3歲怎么開展親子閱讀及書單实抡,晚上整理一下這方面的經(jīng)驗(yàn),幫助更多的家庭開展親子閱讀欢策。 首先吆寨,很多媽...
    簡姑娘mary閱讀 982評論 0 0
  • 數(shù)組 數(shù)組定義 以中括號([])表示,每個元素以逗號隔開踩寇,里面可以存放相同的數(shù)據(jù)類型也可以存放不同的數(shù)據(jù)類型啄清。 元...
    _羊羽_閱讀 1,757評論 0 0