我想只显示添加了标记的提交之间的差异。或者最接近这个。换句话说就是这样:
tag "5 ..."
@@ -1,1 +1,3 @@
+ dfd
+ dfgd
tag "4.."
@@ -1,1 +1,3 @@
+ dfd
+ dfgd
等等。我试过但不能得到这种特定的格式也许有人可以帮助我。然后,一旦我有一个具有此格式的文本文件或尽可能接近我执行以下操作:
with open('log_output_alex.txt', 'r') as f:
read_data = f.read()
f.closed
tag_separation = read_data.split('tag: "')
执行此操作后,我不知道如何在数组tag_separation中的每个字符串中读取每个字符串?
一旦我能做到这一点,我就可以检查字符串中的行是否以某个字符(@,+, - 或标记)开头,并在数据结构中存储不同的行以便以后操作。
提前感谢您的帮助!
答案 0 :(得分:1)
您可能希望使用the GitPython
library,这将为您提供对git
存储库的更高级别访问权限。
即使您决定不使用它,您也可以看看它是如何在那里完成的!
答案 1 :(得分:0)
Git将无法在单个命令中为您提供该格式,因此您需要自己创建一些。为此,这里有一些提示:
git tag
git rev-parse TAGNAME
git diff A..B
获取两次提交之间的差异,例如git diff tag1..tag2
这样你最终也会为每个标签分离已经分开的差异,因此你不需要先将它存储在文件中并再次拆分,你可以从它开始。
执行此操作后,我不知道如何阅读每个字符串中的每一行
您可以使用str.splitlines
首先拆分字符串来迭代字符串。