文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python增强下git那长长的指令详解

2024-04-02 19:55

关注

Git简介

相信大家都用过SVN,但是SVN会受网络的限制,之前入职一家公司的时候,SVN上有很多东西需要check out下来,极受网络影响不说,有时还会中断,效率会很低。而Git恰恰在有SVN的优点的同时又能完美的解决这个问题。这也是集中式和分布式版本控制系统的区别
CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统。

场景

现如今有点规模的公司都使用GitFlow模式进行分支管理、虽然插件给我们带来了非常大的方便,但切换分支、找分支、起分支还是那么的麻烦

需求

在社会主次国家,每个生活在底层的劳动人民,他们默默的工作着,各种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

每个码农都同事进行着非常多的需求,为了使我们的工作更加的有效率!我们也给自己提几个需求!

.......

为此 给原生的git 增强的想法早就出现了,只是一只没去写~,今个儿就用Python来提升下!

开发中

代码目录结构


> 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

cmdDict.py文件


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


"""
	这里配置下指令对应的命令解释器
"""
cmd = {
	"-b": printCurrentBrStrategy.PrintBr(),
	"--help": gtaskHelp.GtaskHelper(),
	"-c":createTaskStrategy.CreateTask(),
    "--co":switchBranch.SwitchBranch()
}

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

主要是配置命令以及对应的解释脚本文件

9月14号

创建分支的时候提示输入任务名、描述等。查看所有分支的时候给分支都打上对应的索引号、通过切换指定的索引号来切换分支,同事显示的时候也把分支描述显示出来


Savey:baking-apiserver:% g -b                                                                                                                  <test>
[001] - beta ##beta分支
[002] - dev 
[003] - develop 
[004] - effectiveJava 
[005] - feature/20210712-reviewOpenApi 
[006] - feature/20210727-tapd-1003358 ##电子发票
[007] - feature/20210824-tapd-1004652 ##预售
[008] - feature/20210909-tapd-1005586 ##取消配送
[009] - feature/20210913-tapd-1005758 ##美团外卖订单优惠明细打印
[010] - hotfix/20210915-fix-gainPointForGiftCard 
[011] - master ##yes
[012] - test ##test

9月15号

兼容原生的git使用


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

为当前的分支添加描述

是这样的、当初建立分支的时间忘记写上描述了,那么就再次快速的给分支打上描述吧、不用输入git config branch.<branchName>.description

现在只要这样


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

9月16号

由于咋们的指令会越来越多,之前在cmdDict.py直接配置指定的命令不合适了,今天改了换成以下写法。使用生成器的特性来提升下小小的性能,因这之前我的老本家php也支持yield。那么今天就索引来修改下吧!顺便把cmdDIct.py改了名字Config.py是不是更好一些。
把之前的指令拿到具体的类里去实现。


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

在抽象类AbstractCommandStrategy.py添加方法


    """
    存入指令的实现方法
    """
    @abstractmethod
    def command(self):
        pass

由具体的子类去配置对应的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打印出当前所有分支,列表出索引号和描述")
        pass

第天争取走一小步

代码在GitHub

到此这篇关于Python增强下git那长长的指令的文章就介绍到这了,更多相关Python git指令内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯