1
0
Fork 0
dispatcher/bash_scripts/repo_local.tmpl.sh
2025-03-31 19:57:16 +03:00

31 lines
1.7 KiB
Bash

#!/bin/false
if [[ -z "$1" || "$1" == "local" ]]; then
echo "Создание локального репозитория."
rm -rf .git # удаление старого репозитория
git init -b master
git add .git*
git commit -m "Инициализация / $dir"
find . -type f | grep -E 'CONTRIBUTING|LICENSE' | xargs git add
git commit -m "Открытая лицензия РФ"
find . -type f -name '*.md' | grep -E 'TREE|WIKI|README|VIEW' | xargs git add
git commit -m "Описание проекта"
find . -type f | grep -E '(yml|Gemfile.*|gemspec|robots.txt)$' | xargs git add
git commit -m "Настройки"
git add \*.sh
git commit -m "Скрипты bash"
find . -type f | grep -E '(min.css|min.js|woff)$' | xargs git add
git commit -m "Сторонние материалы"
find . -type f | grep -E '(bmp|gif|ico|jpg|png|svg)$' | xargs git add
git commit -m "Картинки"
git add --all
# преобразование шаблонов "glob" в расширенные выражения "regexp"
patterns="$(sed 's|\.|\\.|;s|*|.*|' .gitignore | tr '\n' '|')\.git"
# выбор всех файлов в каталоге, кроме списка ".gitignore", сортировка и внесение в репозиторий
find . -type f -printf '%P\n' | grep -vE "(^|.+/)($patterns)(/.+|$)" | LC_COLLATE=C sort -r \
| xargs -I{} -d'\n' bash -c 'echo "Обработка: {}" && git commit "{}" -m "{}" &>/dev/null'
fi
if [[ -z "$1" || "$1" == "push" ]]; then
echo "Подключение к удалённому репозиторию и передача данных."
git remote add "$domain" "git@$domain:$owner/$repo.git"
git push -u "$domain" master
fi