用 Python 增强 Git

M78-Seven 2021-09-15 10:05:36
后端 Python Git 博客园 增强


场景

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

需求

在社会主次国家,每个生活在底层的劳动人民,他们默默的工作着,各种996、多线程的工作着

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

  • 快速的建立hotfix/feature分支
  • 在繁多的本地分支中快速的切换到指定工作分支
  • 清楚的描述出每个分支对应的任务描述

.......

为此 给原生的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
  • main.py为入口函数
  • cmdDict.py文件为配置文件
  • command目录就存入具体的命令实现
  • support目录为一些支持的类

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号

  • 建立仓库
  • 实现 查看 所有分支
  • 创建分支、
  • 快速切换分支
  • help信息

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

再更新...

代码在GitHub

版权声明
本文为[M78-Seven]所创,转载请带上原文链接,感谢
https://www.cnblogs.com/m78-seven/p/15270325.html

  1. Realizing the function of sending e-mail automatically with Python
  2. Smtpauthenticationerror in Python: solution
  3. 8 steps to teach you how to solve Sudoku in Python! (including source code)
  4. Python change la vie | identifier facilement des centaines de numéros de livraison
  5. Python change life | utilisation de modèles reconnus par ocr
  6. Bibliothèques Python utiles et intéressantes - - psutil
  7. 3. Traitement des données pandas
  8. 【Python编程基础】控制流之链式比较运算符
  9. MFC uses Python scripting language
  10. 【Python編程基礎】控制流之鏈式比較運算符
  11. 【 base de programmation python】 opérateur de comparaison de chaîne pour le flux de contrôle
  12. Python game development, pyGame module, python implementation of Xiaole games
  13. Mise en œuvre du Code de vérification unique (OTP) avec le cadre de repos Django
  14. Python - eval ()
  15. Python - Programmation orientée objet - _Rapport()
  16. Différence entre python - rep (), Str ()
  17. Python - Programmation orientée objet - _Appel()
  18. Python calling matlab script
  19. Python - Programmation orientée objet - _Nouveau() et mode Singleton
  20. Python - Programmation orientée objet - méthode magique (méthode de double soulignement)
  21. Python - Programmation orientée objet - pratique (6)
  22. Python - Programmation orientée objet - réflexion hasattr, GetAttr, GetAttr, delattr
  23. Python - Programmation orientée objet - _Dict
  24. Python - pydantic (2) Modèle imbriqué
  25. Non-ASCII character ‘\xe5‘ in file kf1.py on line 4, but no encoding declared; see http://python.or
  26. python笔记(一)
  27. Non - ASCII character 'xe5' in file kf1.py on Line 4, but no Encoding declared;Voirhttp://python.or
  28. Notes Python (1)
  29. Talk about how JMeter executes Python scripts concurrently
  30. In Beijing, you can't see the moon in the Mid Autumn Festival. Draw a blood red moon in Python
  31. Un des pandas crée un objet
  32. Machine learning | unitary regression model Python practical case
  33. Draw a "Lollipop chart" with Excel and python
  34. Python uses scikit learn to calculate TF-IDF
  35. Getting started with Python Basics_ 3 conditional statements and iterative loops
  36. Python dynamic properties and features
  37. 云计算开发:Python内置函数-min()函数详解
  38. [Python skill] how to speed up loop operation and numpy array operation
  39. 雲計算開發:Python內置函數-min()函數詳解
  40. Développement de l'informatique en nuage: explication détaillée de la fonction intégrée python - min ()
  41. 从0起步学Python(附程序实例讲解)第1讲
  42. 从0起步学Python(附程序实例讲解)第1讲
  43. Apprendre Python à partir de 0 (avec des exemples de programme) leçon 1
  44. Apprendre Python à partir de 0 (avec des exemples de programme) leçon 1
  45. With Python, I'll take you to enjoy it for a month when the Mid Autumn Festival is coming
  46. You can't write interface software in Python! Which software on sale has no UI?
  47. Python国内外原题解析及源码1~15
  48. Python实现长篇英文自动纠错~
  49. Python implémente la correction automatique des erreurs en anglais long
  50. Analyse des problèmes originaux et code source de Python au pays et à l'étranger 1 ~ 15
  51. 一张思维导图学Python之表白
  52. Python教学中课程思政建设的研究探索2
  53. Recherche sur la construction idéologique et politique du Programme d'études dans l'enseignement Python 2
  54. Une présentation de la cartographie mentale Python
  55. Python高级用法总结(8)-函数式编程
  56. Python + Mirai development QQ robot starting tutorial (2021.9.9 test is valid)
  57. Python Advanced use Summary (8) - functional Programming
  58. How to get started with Python and share learning methods for free. All you want to know is here
  59. Python + Mirai development QQ robot starting tutorial (2021.9.9 test is valid)
  60. Python基础第1讲(含代码、Python最新安装包、父与子的编程之旅:与小卡特一起学Python中文版)