mo-ocr / utils /git.py
mnhkahn's picture
feat(git): 增强获取git提交信息功能,添加分支和时间信息
8c90971
Raw
History Blame Contribute Delete
1.49 kB
import os
import subprocess
import logging
from datetime import datetime
logger = logging.getLogger(__name__)
def get_git_commit_message():
"""
获取当前Git commit message
"""
try:
# 执行git命令获取最近的commit message
result = subprocess.run(
["git", "log", "-1", "--pretty=%B"],
capture_output=True,
text=True,
cwd=os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
)
# 获取分支信息
branch_result = subprocess.run(
["git", "branch", "--show-current"],
capture_output=True,
text=True,
cwd=os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
)
if result.returncode == 0:
commit_message = result.stdout.strip()
branch = (
branch_result.stdout.strip()
if branch_result.returncode == 0
else "unknown"
)
# 格式化输出
formatted_message = f"""☀️☀️☀️☀️☀️
🕐 {datetime.now().strftime('%Y-%m-%dT%H:%M:%S')}
🔧 {branch} -> {branch}
🏆 prod /
📝 提交信息: {commit_message}"""
return formatted_message
else:
logger.error(f"获取Git commit message失败: {result.stderr}")
return None
except Exception as e:
logger.error(f"获取Git commit message出错: {e}")
return None