Windows+Git Bash 适配:Go 项目打包脚本

在 Go 项目根目录新建package_project.sh(右键→新建文本文档,改后缀为.sh,注意去掉.txt),内容如下:

#!/bin/bash
# package_project_no_tree.sh - Windows Git Bash适配版(无tree依赖)
OUTPUT_FILE="project_structure.txt"
> "$OUTPUT_FILE"

# 1. 用find生成目录结构
echo -e "===== 项目目录结构(按文件类型)=====\n" >> "$OUTPUT_FILE"
find . -type d \
  -not -path "./vendor/*" \
  -not -path "./bin/*" \
  -not -path "./.git/*" \
  -not -path "./.idea/*" | sort >> "$OUTPUT_FILE"
echo -e "\n===== 各文件代码内容 =====\n" >> "$OUTPUT_FILE"

# 2. 遍历.go文件
find . -name "*.go" \
  -not -path "./vendor/*" \
  -not -path "./bin/*" \
  -not -path "./.git/*" \
  -not -path "./test/*" \
  -not -path "./.idea/*" | while read -r file; do
  echo -e "// ------------------------" >> "$OUTPUT_FILE"
  echo -e "// 文件路径:$file" >> "$OUTPUT_FILE"
  echo -e "// ------------------------" >> "$OUTPUT_FILE"
  cat "$file" >> "$OUTPUT_FILE"
  echo -e "\n\n" >> "$OUTPUT_FILE"
done

echo -e "✅ 项目打包完成!生成文件:$(pwd)/$OUTPUT_FILE"

执行脚本的步骤

打开 Go 项目根目录 → 右键选择「Git Bash Here」,打开终端。
给脚本添加执行权限:

chmod +x package_project_no_tree.sh  

执行脚本:

./package_project_no_tree.sh

调用 Ollama 分析项目

# 1. 先创建prompt_analysis.txt(内容和之前一致,放在项目根目录)
# 2. 执行分析命令
ollama run deepseek-coder:6.7b "$(cat prompt_analysis.txt | sed "s/{{PROJECT_CONTENT}}/$(cat project_structure.txt | sed 's/"/\\"/g')/g")" > project_analysis_report.md

执行成功截图