首页 > 编程语言 >【通过python获取git的分支名】

【通过python获取git的分支名】

时间:2024-03-26 13:30:54浏览次数:17  
标签:git 读取 python subprocess branchname 分支

前言

在git开发时,编译/编译后的文件是依赖于当前的git分支名的,读取其名字,可便于后续的操作。

导入库


import subprocess

声明git指令和路径


cmd_command = "git branch --show-current"
GitBash_path = r'D:\Bitbucket\Test'

GitBash_path 是正常输入git指令的所在路径。

解析git分支名


def parse_branchname(branchname: str):
    temp = ""
    branchname = branchname[:-1]#remove string \n
    if "/" in branchname.decode('utf-8'):
        branchnamelist = branchname.decode('utf-8').split("/")
        temp = branchnamelist[1]
    else: 
        temp = branchname
    pass
    return temp

注意点:

  1. 从cmd窗口读取的字符串,末尾包含了’\n’的换行符,需删除。
  2. 有时git分支名前还包含分支类型,通过’/'分割字符串,只读取git分支名。

调用subprocess


# python version=3.6, use this code
result = subprocess.run(cmd_command, cwd=GitBash_path, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

current_branch = result.stdout
current_branch = parse_branchname(current_branch)

result 读取在python版本不同时代码有小区别,如果你的python版本>=3.7,请使用以下代码


# para 'text and capture_output' can be used on python version>=3.7
result = subprocess.run(cmd_command, text=True, cwd=GitBash_path, capture_output=True)

总结

通过以上的例子,可通过python脚本读取git分支名,有帮于我们后续的其他操作。

标签:git,读取,python,subprocess,branchname,分支
From: https://blog.csdn.net/OnlyMars/article/details/136911215

相关文章

  • Git 如何重命名一个 Git Tag 标签
    Git如何重命名一个Gittag标签?方法一:使用Git命令行工具首先,使用gittag命令查看现有的标签列表。例如:$gittagV2.0.0v2.0.1v2.1.2v2.0.3v2.0.4v2.0.5使用gittag<new-name><old-name>命令来重命名标签。例如,要将标签v1.0重命名为v2.0,可以运行以下命......
  • 【python】字符串(Str)
    字符串是python中最常用的数据类型,在整个变成阶段都起到了关键性的作用。目录前言正文一、字符串的定义二、字符编码转换1、编码的历史(了解即可)2、字符串的编码转换    1)、encode()    2)、 decode()三、转义字符四、字符串的基本操作1、访......
  • python多版本安装和导库
    多python版本的pip安装python的库,以及导出python库列表及版本1、同时安装python2和python3时,要进行pip安装python的库:当需要python2的pip时,输入以下命令:py-2-mpipinstallxxx当需要python3的pip时,输入以下命令:py-3-mpipinstallxxx 2、同时安装python2和pytho......
  • Python调用GPT4,GPT3.5,gpt-4-all(全功能模型)
    使用地址:openai-api调用3.5代码#coding=gbkimportopenaiopenai.api_base='https://api.chuanchuan.cloud/v1'openai.api_key='sk-8fNMAI5HqltUroio74A1D72dB2524487B2D59f675940Bd39'messages=[{"role":"user","......
  • python 实现获取与下载网页中图片的四种方案
    方案一利用urlretrieve()函数链接到图片url直接储存图片urlretrieve是urllib库中的一个函数urllib库是python的内置包,不需要下载安装urllib包含了四个模块分别是:request:基本的http请求模块,用来模拟发送请求。error:异常处理模块,捕获请求中的异常,然后进行重试或其他的操作以......
  • 使用Github托管Unity项目
    ​准备工作在本机生成ssh密钥ssh-keygen-trsa-C"你的邮箱地址"点击回车后会出现生成的密钥路径,我们直接打开密钥复制下来。github官网添加我们的本机密钥进入Github官网,点击设置,选择SSHandGPGkeys点击newSSHkey,将我们刚才在本机生成的ssh密钥放入key中,并起......
  • python @property的介绍与使用
    python@property的介绍与使用python的@property是python的一种装饰器,是用来修饰方法的。作用:我们可以使用@property装饰器来创建只读属性,@property装饰器会将方法转换为相同名称的只读属性,可以与所定义的属性配合使用,这样可以防止属性被修改。举例:修饰方法,是方法可以像属性......
  • Python面试题:神秘公司的挑战(3)!
    题目十一:闭包(Closure)的概念和示例:答案:闭包是指在函数内部定义的函数,并且内部函数可以访问外部函数的局部变量。闭包可以捕获并保持外部函数的状态,使得函数具有记忆功能。以下是一个闭包的简单示例:defouter_function(x):definner_function(y):returnx+y......
  • 不用写一行代码!Python最强自动化神器!
    1、Playwright介绍Playwright是一个由Microsoft开发的开源自动化测试工具,它可以用于测试Web应用程序。Playwright支持多种浏览器,包括Chrome、Firefox和WebKit,同时也支持多种编程语言,如JavaScript、TypeScript、Python和C#。2、特点、使用场景Playwright具有以下特点:支持所有......
  • 肖sir__python之函数5.1
    函数:一、什么是函数定义:函数是组织好,可重复使用,用来实现单一,或关联功能的代码段二、pycharm中的表结构项目,包(init)或目录,py文件,py文件包含多个函数或类等    三、函数的有哪些优点?1、降低代码冗余2、增加代码的复用性,提高开发效率3、提高程序的拓展性4、封装:就是......