#!/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