python 这个脚本在git log中搜索你所在的当前目录,并在“base commit”上启动一个交互式rebase,这是s
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 这个脚本在git log中搜索你所在的当前目录,并在“base commit”上启动一个交互式rebase,这是s相关的知识,希望对你有一定的参考价值。
#!/usr/bin/env python
import subprocess
p = subprocess.Popen(["git", "log", "--format='%s'"], stdout=subprocess.PIPE)
out, err = p.communicate()
# Keep going until we don't find a "fixup! "
fixup_count = 0
max_list_size = 10
commits = out.split('\n')[:max_list_size]
for c in commits:
if "fixup! " not in c:
break
fixup_count += 1
head_str = "HEAD~%d" % (fixup_count + 1)
print("Fixup count: %d" % fixup_count)
if fixup_count == max_list_size:
print("No base commit found in the last %d commits!" % max_list_size)
print("You should REALLY consider rebasing...")
elif fixup_count == 0:
print("No fixup commits found. Nothing to do")
else:
print("Found base commit %d commits back: %s" % (fixup_count, c))
print("*** Calling interactive rebase on %s..." % head_str)
subprocess.call(["git", "rebase", "-i", "--autosquash", head_str])
以上是关于python 这个脚本在git log中搜索你所在的当前目录,并在“base commit”上启动一个交互式rebase,这是s的主要内容,如果未能解决你的问题,请参考以下文章
不在存储库中时如何在终端中获取“git log”或使用 shell 脚本
10分钟教你搭建一个好玩的Python全文搜索引擎
python学习第十三节(sys,logging,logger,json)
CC::LuaEngine->executeScriptFile("main.lua") 不执行脚本
git log pretty format 可以保留主题中的新行吗?
获得Python脚本所在目录