0

我正在使用以下 git 命令输出: git worktree list转换为流光表对象。例如:

F:/demo/a   123abc   [dev/arielma/a]
F:/demo/b   453fbd   [dev/arielma/b]
F:/demo/c   123abc   [dev/arielma/a]
F:/demo/d   3234dv   (detached HEAD)
F:/demo/e   3cxvd1   [dev/arielma/e] prunable

我想只取有效的(a 到 c)并将它们打印到 python 数据框。例如 例子

工作树名称在哪里F:/demo/a,它的签出分支在哪里[dev/arielma/a]

4

1 回答 1

1

使用git worktree list --porcelain并解析输出:

文档

瓷器格式

瓷器格式的每个属性都有一行。列出的属性带有由单个空格分隔的标签和值。布尔属性(如裸属性和分离属性)仅作为标签列出,并且仅在值为 true 时出现。某些属性(如锁定)可以仅作为标签列出,也可以作为值列出,具体取决于原因是否可用。工作树的第一个属性始终是工作树,空行表示记录的结束......

样本解析:

pd.DataFrame([
    {line.split()[0]: line.split(" ",1)[1] for line in block.splitlines()}
    for block in output.split("\n\n")])
于 2021-12-08T12:26:30.667 回答