人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

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

發(fā)布日期:2022-01-03 08:50 | 文章來源:源碼之家

Git簡介

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

場景

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

需求

在社會主次國家,每個生活在底層的勞動人民,他們默默的工作著,各種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

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

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

.......

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

開發(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

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

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

9月14號

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

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

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號

兼容原生的git使用

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

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

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

現(xiàn)在只要這樣

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

9月16號

由于咋們的指令會越來越多,之前在cmdDict.py直接配置指定的命令不合適了,今天改了換成以下寫法。使用生成器的特性來提升下小小的性能,因這之前我的老本家php也支持yield。那么今天就索引來修改下吧!順便把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

由具體的子類去配置對應(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)前所有分支,列表出索引號和描述")
  pass

第天爭取走一小步

代碼在GitHub

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

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時開通

自選配置、實(shí)時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部