欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python增強(qiáng)下git那長(zhǎng)長(zhǎng)的指令詳解

 更新時(shí)間:2021年09月17日 08:29:20   作者:M78-Seven  
這篇文章主要介紹了Python增強(qiáng)下git那長(zhǎng)長(zhǎng)的指令 ,在開(kāi)發(fā)中用到的代碼目錄結(jié)構(gòu),本文也給大家詳細(xì)講解,需要的朋友可以參考下

Git簡(jiǎn)介

相信大家都用過(guò)SVN,但是SVN會(huì)受網(wǎng)絡(luò)的限制,之前入職一家公司的時(shí)候,SVN上有很多東西需要check out下來(lái),極受網(wǎng)絡(luò)影響不說(shuō),有時(shí)還會(huì)中斷,效率會(huì)很低。而Git恰恰在有SVN的優(yōu)點(diǎn)的同時(shí)又能完美的解決這個(gè)問(wèn)題。這也是集中式和分布式版本控制系統(tǒng)的區(qū)別
CVS及SVN都是集中式的版本控制系統(tǒng),而Git是分布式版本控制系統(tǒng)。

場(chǎng)景

現(xiàn)如今有點(diǎn)規(guī)模的公司都使用GitFlow模式進(jìn)行分支管理、雖然插件給我們帶來(lái)了非常大的方便,但切換分支、找分支、起分支還是那么的麻煩

需求

在社會(huì)主次國(guó)家,每個(gè)生活在底層的勞動(dòng)人民,他們默默的工作著,各種996、多線程的工作著

  beta
  dev
  develop
  effectiveJava
  feature/20210712-reviewOpenApi
  feature/20210727-tapd-1003358
  feature/20210824-tapd-1004652
  feature/20210909-tapd-1005586
  feature/20210913-tapd-1005758
  hotfix/20210915-fix-gainPointForGiftCard
  master
* test

每個(gè)碼農(nóng)都同事進(jìn)行著非常多的需求,為了使我們的工作更加的有效率!我們也給自己提幾個(gè)需求!

  • 快速的建立hotfix/feature分支
  • 在繁多的本地分支中快速的切換到指定工作分支
  • 清楚的描述出每個(gè)分支對(duì)應(yīng)的任務(wù)描述

.......

為此 給原生的git 增強(qiáng)的想法早就出現(xiàn)了,只是一只沒(méi)去寫~,今個(gè)兒就用Python來(lái)提升下!

開(kāi)發(fā)中

代碼目錄結(jié)構(gòu)

> tree
├── README.MD
├── __init__.py
├── cmdDict.py
├── command
│   ├── __init__.py
│   ├── commandStrategy.py
│   ├── createTaskStrategy.py
│   ├── gitCmdStrategy.py
│   ├── gtaskHelp.py
│   ├── printCurrentBrStrategy.py
│   └── switchBranch.py
├── gtaskContext.py
├── main.py
└── support
    ├── __init__.py
    ├── breancEntity.py
    ├── clientCommand.py
    └── parseError.py
  • main.py為入口函數(shù)
  • cmdDict.py文件為配置文件
  • command目錄就存入具體的命令實(shí)現(xiàn)
  • support目錄為一些支持的類

cmdDict.py文件

from command import printCurrentBrStrategy,gtaskHelp,createTaskStrategy,switchBranch,gitCmdStrategy


"""
	這里配置下指令對(duì)應(yīng)的命令解釋器
"""
cmd = {
	"-b": printCurrentBrStrategy.PrintBr(),
	"--help": gtaskHelp.GtaskHelper(),
	"-c":createTaskStrategy.CreateTask(),
    "--co":switchBranch.SwitchBranch()
}

"""
特殊的配置,解析git的命令
"""
git = {
    "git": gitCmdStrategy.GitCmd()
}

主要是配置命令以及對(duì)應(yīng)的解釋腳本文件

9月14號(hào)

  • 建立倉(cāng)庫(kù)
  • 實(shí)現(xiàn) 查看 所有分支
  • 創(chuàng)建分支、
  • 快速切換分支
  • help信息

創(chuàng)建分支的時(shí)候提示輸入任務(wù)名、描述等。查看所有分支的時(shí)候給分支都打上對(duì)應(yīng)的索引號(hào)、通過(guò)切換指定的索引號(hào)來(lái)切換分支,同事顯示的時(shí)候也把分支描述顯示出來(lái)

Savey:baking-apiserver:% g -b                                                                                                                  <test>
[001] - beta ##beta分支
[002] - dev 
[003] - develop 
[004] - effectiveJava 
[005] - feature/20210712-reviewOpenApi 
[006] - feature/20210727-tapd-1003358 ##電子發(fā)票
[007] - feature/20210824-tapd-1004652 ##預(yù)售
[008] - feature/20210909-tapd-1005586 ##取消配送
[009] - feature/20210913-tapd-1005758 ##美團(tuán)外賣訂單優(yōu)惠明細(xì)打印
[010] - hotfix/20210915-fix-gainPointForGiftCard 
[011] - master ##yes
[012] - test ##test

9月15號(hào)

兼容原生的git使用

Savey:baking-apiserver:% g version                                                                                                 
git version 2.24.3 (Apple Git-128)

為當(dāng)前的分支添加描述

是這樣的、當(dāng)初建立分支的時(shí)間忘記寫上描述了,那么就再次快速的給分支打上描述吧、不用輸入git config branch.<branchName>.description

現(xiàn)在只要這樣

Savey:baking-apiserver:% g --desc test分支                                                                                                     
✅Success!!

9月16號(hào)

由于咋們的指令會(huì)越來(lái)越多,之前在cmdDict.py直接配置指定的命令不合適了,今天改了換成以下寫法。使用生成器的特性來(lái)提升下小小的性能,因這之前我的老本家php也支持yield。那么今天就索引來(lái)修改下吧!順便把cmdDIct.py改了名字Config.py是不是更好一些。
把之前的指令拿到具體的類里去實(shí)現(xiàn)。

def keyCommand():
		yield printCurrentBrStrategy.PrintBr()
		yield gtaskHelp.GtaskHelper()
		yield createTaskStrategy.CreateTask()
		yield switchBranch.SwitchBranch()
		yield editBrDesc.EditBrDesc()

在抽象類AbstractCommandStrategy.py添加方法

    """
    存入指令的實(shí)現(xiàn)方法
    """
    @abstractmethod
    def command(self):
        pass

由具體的子類去配置對(duì)應(yīng)的command命令。比如

from . import commandStrategy

class PrintBr(commandStrategy.AbstractCommandStrategy):

    """  
      這里配置 指定的指令 
    """
    def command(self):
        return "-b"
    def cmd(self, args):
        super().printAllBr(args)


    def useage(self):
        print(self.command() + "\t打印出當(dāng)前所有分支,列表出索引號(hào)和描述")
        pass

第天爭(zhēng)取走一小步

代碼在GitHub

到此這篇關(guān)于Python增強(qiáng)下git那長(zhǎng)長(zhǎng)的指令的文章就介紹到這了,更多相關(guān)Python git指令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python中if和elif的區(qū)別介紹

    python中if和elif的區(qū)別介紹

    這篇文章主要介紹了python中if和elif的區(qū)別,下面文章將舉多個(gè)例子圍繞if和eli的相關(guān)資料展開(kāi)內(nèi)容,需要的朋友可以參考一下,希望對(duì)你有所幫助
    2021-11-11
  • Python學(xué)習(xí)Turtle庫(kù)畫對(duì)稱勾股樹(shù)體會(huì)分形驚艷

    Python學(xué)習(xí)Turtle庫(kù)畫對(duì)稱勾股樹(shù)體會(huì)分形驚艷

    這篇文章主要為大家介紹了Python學(xué)習(xí)中如何使用Turtle庫(kù)畫對(duì)稱勾股樹(shù),從而體會(huì)到分形世界的驚艷,文中附含詳細(xì)示例代碼有需要的朋友可以借鑒參考下
    2021-09-09
  • python如何導(dǎo)入依賴包

    python如何導(dǎo)入依賴包

    在本篇文章里小編給大家整理的是關(guān)于python導(dǎo)入依賴包的方法,需要的朋友們學(xué)習(xí)下。
    2020-07-07
  • python+selenium實(shí)現(xiàn)自動(dòng)搶票功能實(shí)例代碼

    python+selenium實(shí)現(xiàn)自動(dòng)搶票功能實(shí)例代碼

    Selenium是ThoughtWorks公司的一個(gè)強(qiáng)大的開(kāi)源Web功能測(cè)試工具系列,采用Javascript來(lái)管理整個(gè)測(cè)試過(guò)程,包括讀入測(cè)試套件、執(zhí)行測(cè)試和記錄測(cè)試結(jié)果。這篇文章主要介紹了python+selenium實(shí)現(xiàn)自動(dòng)搶票,需要的朋友可以參考下
    2018-11-11
  • Python?HMAC模塊維護(hù)數(shù)據(jù)安全技術(shù)實(shí)例探索

    Python?HMAC模塊維護(hù)數(shù)據(jù)安全技術(shù)實(shí)例探索

    本篇博客將帶領(lǐng)讀者深入探索Python中HMAC模塊的高級(jí)應(yīng)用,通過(guò)豐富的示例代碼和詳細(xì)的解釋,揭示HMAC在實(shí)際應(yīng)用場(chǎng)景中的多面光芒,從基礎(chǔ)概念到密碼存儲(chǔ)、文件完整性驗(yàn)證、API安全,再到與加密算法的巧妙結(jié)合
    2024-01-01
  • python3 pathlib庫(kù)Path類方法總結(jié)

    python3 pathlib庫(kù)Path類方法總結(jié)

    這篇文章主要介紹了python3 pathlib庫(kù)Path類方法總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Python創(chuàng)建文件夾與文件的快捷方法

    Python創(chuàng)建文件夾與文件的快捷方法

    這篇文章主要給大家介紹了關(guān)于Python創(chuàng)建文件夾與文件的快捷方法以及批量創(chuàng)建文件夾的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Django實(shí)現(xiàn)下載超大CSV文件的示例代碼

    Django實(shí)現(xiàn)下載超大CSV文件的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用 Django 進(jìn)行大型 CSV 文件的流傳輸,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • Opencv+Python實(shí)現(xiàn)圖像運(yùn)動(dòng)模糊和高斯模糊的示例

    Opencv+Python實(shí)現(xiàn)圖像運(yùn)動(dòng)模糊和高斯模糊的示例

    今天小編就為大家分享一篇關(guān)于Opencv+Python實(shí)現(xiàn)圖像運(yùn)動(dòng)模糊和高斯模糊的示例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-04-04
  • python實(shí)現(xiàn)發(fā)送郵件及附件功能

    python實(shí)現(xiàn)發(fā)送郵件及附件功能

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)發(fā)送郵件及附件功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05

最新評(píng)論