前言
在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
注意点:
- 从cmd窗口读取的字符串,末尾包含了’\n’的换行符,需删除。
- 有时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