git-toolbox/git-init-here.sh
2026-04-26 19:38:42 +02:00

65 lines
No EOL
1.8 KiB
Bash
Executable file
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 1. Aktuelles Verzeichnis und Name ermitteln
CURRENT_DIR=$(pwd)
PROJECT_NAME=$(basename "$CURRENT_DIR")
echo "--- Initialisiere Git-Projekt in: $CURRENT_DIR ---"
# 2. Git initialisieren, falls noch nicht geschehen
if [ -d ".git" ]; then
echo "Info: Hier existiert bereits ein Git-Repository. Fahre mit Konfiguration fort..."
else
git init
echo "Git-Repository wurde initialisiert."
fi
# 3. Dateien nur erstellen, wenn sie NICHT existieren
if [ ! -f "README.md" ]; then
echo "# $PROJECT_NAME" > README.md
echo "Check: README.md wurde neu erstellt."
else
echo "Check: Bestehende README.md gefunden wird beibehalten."
fi
if [ ! -f ".gitignore" ]; then
cat <<EOF > .gitignore
*.log
.env
node_modules/
.DS_Store
EOF
echo "Check: .gitignore wurde neu erstellt."
else
echo "Check: Bestehende .gitignore gefunden wird beibehalten."
fi
# 4. Erster lokaler Commit (nur wenn Änderungen da sind)
git add .
if git diff-index --quiet HEAD --; then
echo "Info: Keine neuen Änderungen zum Committen."
else
git commit -m "Initialer Commit oder Update durch git-init"
git branch -M main
fi
# 5. Remote URL abfragen
echo "------------------------------------------------"
echo "Damit der Push funktioniert, wird eine Remote-URL benötigt."
read -p "Remote URL (Enter zum Überspringen): " remote_url
if [ -n "$remote_url" ]; then
# Sicherstellen, dass kein alter 'origin' stört
git remote remove origin 2>/dev/null
git remote add origin "$remote_url"
echo "Remote 'origin' wurde auf $remote_url gesetzt."
# 6. Erster Push
echo "Führe Push auf 'main' aus..."
git push -u origin main
else
echo "Keine URL angegeben. Das Repo bleibt lokal."
fi
echo "------------------------------------------------"
echo "--- Fertig! Alles sicher in $PROJECT_NAME ---"