MyTetra Share
Делитесь знаниями!
Настройка синхронизации багов
Время создания: 23.09.2025 17:33
Автор: altnsav
Раздел: GIT_BUG
Запись: alensav/MyTetra2/main/base/1758637985yybnbj3ufq/text.html на raw.githubusercontent.com

Создаем скрипт заново

Шаг 1: Создаем скрипт в текущей директории

bash


Copy


Download

cd ~/my-project


# Создаем простой скрипт bug-tracker

cat > bug-tracker << 'EOF'

#!/bin/bash

cd ~/my-project


BUGS_DIR="bugs"

mkdir -p "$BUGS_DIR"


case "$1" in

"new")

if [ -z "$2" ]; then

echo "Использование: ./bug-tracker new 'Заголовок бага'"

exit 1

fi

# Находим следующий ID

LAST_ID=$(ls "$BUGS_DIR"/*.md 2>/dev/null | grep -o '[0-9]\+' | sort -n | tail -1)

if [ -z "$LAST_ID" ]; then

NEXT_ID=1

else

NEXT_ID=$((LAST_ID + 1))

fi

ID=$(printf "%03d" $NEXT_ID)

# Создаем имя файла

TITLE="$2"

FILENAME="$ID-${TITLE// /-}.md"

FILE="$BUGS_DIR/$FILENAME"

# Создаем баг

cat > "$FILE" << BUG

# Баг #$ID: $TITLE


**Статус:** Открыт

**Автор:** $(git config user.name)

**Дата:** $(date +"%d.%m.%Y %H:%M")


## Описание



## Шаги воспроизведения

1.

2.


## Комментарии


BUG

echo "✅ Создан баг #$ID: $FILE"

# Синхронизируем

git add "$FILE"

git commit -m "Добавлен баг #$ID: $TITLE"

git push origin master

;;

"ls")

echo "📋 Список багов:"

for file in "$BUGS_DIR"/*.md; do

if [ -f "$file" ]; then

ID=$(basename "$file" | cut -d'-' -f1)

TITLE=$(grep "^# Баг" "$file" | head -1 | cut -d':' -f2 | xargs)

echo " $ID: $TITLE"

fi

done

;;

"show")

if [ -n "$2" ]; then

FILE="$BUGS_DIR/$2"*.md

if [ -f "$FILE" ]; then

cat "$FILE"

else

echo "Баг $2 не найден"

fi

else

echo "Использование: ./bug-tracker show <ID>"

fi

;;

*)

echo "🐛 Система отслеживания багов"

echo ""

echo "Команды:"

echo " ./bug-tracker new 'Заголовок' - Создать баг"

echo " ./bug-tracker ls - Список багов"

echo " ./bug-tracker show <ID> - Показать баг"

;;

esac

EOF


# Даем права на выполнение

chmod +x bug-tracker

Шаг 2: Тестируем скрипт

bash


Copy


Download

# Создаем тестовый баг

./bug-tracker new "Ошибка компиляции проекта"


# Смотрим список багов

./bug-tracker ls


# Смотрим детали бага

./bug-tracker show 001

Шаг 3: Создаем упрощенную версию для быстрого старта

bash


Copy


Download

# Создаем простейший скрипт bug.sh

cat > bug.sh << 'EOF'

#!/bin/bash

cd ~/my-project


case "$1" in

"new")

ID=$(($(ls bugs/*.md 2>/dev/null | wc -l) + 1))

ID=$(printf "%03d" $ID)

FILE="bugs/$ID-$2.md"

cat > "$FILE" << BUG

# Баг #$ID: $2

Дата: $(date)

Автор: $(whoami)


Описание:

BUG

echo "Создан баг: $FILE"

git add "$FILE"

git commit -m "Баг #$ID"

git push origin master

;;

"list")

ls bugs/*.md 2>/dev/null | while read f; do

echo "$(basename $f): $(head -1 $f)"

done

;;

*)

echo "Использование:"

echo " ./bug.sh new 'Заголовок'"

echo " ./bug.sh list"

;;

esac

EOF


chmod +x bug.sh

Шаг 4: Проверяем создание бага

bash


Copy


Download

# Пробуем создать баг

./bug.sh new "Тестовый баг для проверки"


# Если не работает, пробуем простой вариант

echo "Создаем баг вручную..."


# Создаем баг вручную

ID=$(($(ls bugs/*.md 2>/dev/null | wc -l) + 1))

ID=$(printf "%03d" $ID)

FILE="bugs/$ID-ручной-тест.md"


cat > "$FILE" << EOF

# Баг #$ID: Ручной тест

Дата: $(date)

Автор: alensav


Описание: Проверка работы системы багов

EOF


echo "Создан баг: $FILE"


# Коммитим и пушим

git add bugs/

git commit -m "Добавлен баг #$ID"

git push origin master

Шаг 5: Проверяем на Orange PI

На Orange PI:

bash


Copy


Download

cd ~/my-project


# Получаем обновления

git pull origin master


# Смотрим баги

ls -la bugs/


# Создаем простой скрипт для просмотра

cat > view-bugs << 'EOF'

#!/bin/bash

echo "Список багов:"

for file in bugs/*.md; do

if [ -f "$file" ]; then

echo "=== $(basename $file) ==="

cat "$file"

echo

fi

done

EOF


chmod +x view-bugs

./view-bugs

Шаг 6: Финальная простейшая система

Если скрипты сложны, используем ручное управление:

bash


Copy


Download

# Просто создаем файлы вручную когда нужно

# На главном компьютере:

echo "Создание бага:"

echo "1. Создайте файл в папке bugs/"

echo "2. Добавьте описание"

echo "3. git add bugs/ && git commit && git push"


# Пример:

cat > bugs/002-сетевая-проблема.md << EOF

# Баг #002: Сетевая проблема

Дата: $(date)

Статус: Открыт


Описание: Устройства не видят друг друга в сети

EOF


git add bugs/

git commit -m "Добавлен баг #002"

git push origin master

Пожалуйста, выполните команду ./bug-tracker new "Тестовый баг" и покажите результат. Если не сработает, создадим баг вручную.

 
MyTetra Share v.0.67
Яндекс индекс цитирования