Alle Originalinhalte werden auf Ukrainisch erstellt. Noch nicht alle Inhalte wurden übersetzt. Einige Beiträge sind möglicherweise nur auf Ukrainisch verfügbar.Mehr erfahren

Was ist .gitignore? Wozu dient es und wie verwendet man es?

Beitrags-Cover: Was ist .gitignore? Wozu dient es und wie verwendet man es?
InhaltsverzeichnisKlicke auf den Link, um zur gewünschten Stelle zu navigieren
Dieser Inhalt wurde automatisch aus dem Ukrainischen übersetzt.
.gitignore - ist eine Datei, die im Versionskontrollsystem Git verwendet wird, um Dateien und Verzeichnisse anzugeben, die von Git ignoriert werden sollen. Das bedeutet, dass die in .gitignore angegebenen Dateien und Verzeichnisse nicht zum Git-Index hinzugefügt, nicht verfolgt und nicht in Commits aufgenommen werden.

Warum wird .gitignore benötigt?

Die Datei .gitignore hilft, das Einschließen von Dateien in das Repository zu vermeiden, die nichts mit dem Code zu tun haben oder nicht öffentlich sein sollten. Das können sein:
  • Konfigurationsdateien der Entwicklungsumgebung.
  • Logdateien.
  • Generierte Dateien (z. B. Kompilierungsergebnisse).
  • Temporäre Dateien (Cache, temporäre Dateien).
  • Empfindliche Daten (z. B. Passwörter oder Zugangsschlüssel).

Beispiel für die Verwendung von .gitignore

Erstellen einer .gitignore-Datei:
Erstellen Sie im Stammverzeichnis Ihres Repositories eine Datei mit dem Namen .gitignore.
Hinzufügen von Dateien und Verzeichnissen zu .gitignore:
Fügen Sie in die .gitignore-Datei Muster für Dateien und Verzeichnisse ein, die ignoriert werden sollen. Zum Beispiel:
# Ignoriere alle .DS_Store-Dateien
.DS_Store

# Ignoriere Logdateien
*.log

# Ignoriere alle Dateien im Verzeichnis temp/
temp/

# Ignoriere IDE-Konfigurationsdateien
.idea/
*.iml
Anwendung von .gitignore:
Nachdem Sie Einträge zu .gitignore hinzugefügt haben, stellen Sie sicher, dass diese Dateien noch nicht zum Index hinzugefügt wurden. Wenn sie bereits hinzugefügt wurden, entfernen Sie sie mit dem Befehl git rm --cached <filename> aus dem Index und führen Sie einen Commit durch.

Wie funktioniert .gitignore?

  • Jede Zeile in .gitignore stellt ein Muster für Dateien dar, die ignoriert werden sollen.
  • Muster können einfache Dateinamen sein oder Platzhalterzeichen (wildcards) für mehr Flexibilität enthalten.
  • Kommentare können mit dem Zeichen # hinzugefügt werden.
  • .gitignore kann in jedem Verzeichnis des Repositories platziert werden, und seine Wirkung wird auf dieses Verzeichnis und Unterverzeichnisse beschränkt. Das ist praktisch, manchmal sogar sehr bequem.
Übrigens, die .gitignore-Datei sehen Sie nicht im Finder (nur im Code-Editor oder im Terminal mit ls -a). Lesen Sie im vorherigen Beitrag mehr über versteckte Dateien (mit einem Punkt am Anfang).
Beispiel für eine .gitignore-Datei für ein Ruby on Rails-Projekt
# Ignoriere Bundler-Konfiguration
/.bundle

# Ignoriere die Standard-SQLite-Datenbank
/db/*.sqlite3
/db/*.sqlite3-journal
/db/*.sqlite3-shm
/db/*.sqlite3-wal

# Ignoriere die Standard-PostgreSQL- und MySQL-Datenbankdateien
/db/*.pg
/db/*.pg-journal
/db/*.mysql
/db/*.mysql-journal

# Ignoriere alle Log- und Temp-Dateien
/log/*
/tmp/*
!/log/.keep
!/tmp/.keep

# Ignoriere hochgeladene Dateien in der Entwicklung
/storage/*
!/storage/.keep

# Ignoriere den Anwendungsschlüssel
/config/master.key

# Ignoriere PID-Dateien, Temp-Dateien und Byebug-Befehlsverlauf
/tmp
/tmp/pids
/tmp/cache
/tmp/sockets
/.byebug_history

# Ignoriere dotenv-Umgebungsvariablen-Dateien
.env
.env.*

# Ignoriere node_modules
/node_modules
/yarn-error.log

# Ignoriere vorcompilierte Assets
/public/assets
/public/packs
/public/packs-test
/public/packs-dev

# Ignoriere kompilierte Dateien
/public/assets
/public/packs
/public/packs-test
/public/packs-dev
/public/packs/css
/public/packs/js
/public/packs/images

# Ignoriere von SimpleCov generierte Abdeckungsberichte
/coverage/

# Ignoriere Minitest- und RSpec-Ergebnisdateien
/test/tmp
/test/version_cache
/spec/tmp
/spec/fixtures/files
/spec/examples.txt

# Ignoriere Rubocop-Cache
/.rubocop-https*
/.rubocop_cache

# Ignoriere Capybara-Screenshots
/tmp/capybara/

# Ignoriere Redis-Speicher
/tmp/redis/

# Ignoriere .DS_Store
.DS_Store

# Ignoriere Backups
/backup/

# Ignoriere ActiveStorage hochgeladene Dateien in der Entwicklung
/storage/*
!/storage/.keep
Normalerweise wird die .gitignore-Datei mit zusätzlichen Einträgen gefüllt, während neue Funktionen des Projekts implementiert werden. Zum Beispiel erstellt eine neue Bibliothek temporäre Cache-Dateien auf der lokalen Maschine - also fügen wir sie (oder das Verzeichnis) zur Ignorierliste hinzu. Vor dem Commit sehen Sie überflüssige Dateien und können leicht identifizieren, was genau zu .gitignore hinzugefügt werden muss.

Dieser Beitrag hat noch keine Ergänzungen vom Autor.

Gosu Ruby Tutorial - пройдемось по офіційній документації
03. Jul, 11:50 Uhr

Gosu Ruby Tutorial - пройдемось по офіційній документації

meme code
meme code@memecode
Wir schreiben das Demospiel Drones vs Zombies (Gosu / Ruby)
12. Jul, 12:17 Uhr

Wir schreiben das Demospiel Drones vs Zombies (Gosu / Ruby)

meme code
meme code@memecode
Wie behebt man einen Windows-Absturz, der durch CrowdStrike verursacht wurde?
19. Jul, 13:53 Uhr

Wie behebt man einen Windows-Absturz, der durch CrowdStrike verursacht wurde?

meme code
meme code@memecode
Was bedeutet .map(&:name) in Ruby?
28. Jul, 11:18 Uhr

Was bedeutet .map(&:name) in Ruby?

meme code
meme code@memecode
Wie funktioniert die map-Methode in Ruby? Eine Übersicht über die Funktionsweise der Methode mit Beispielen
30. Jul, 07:33 Uhr

Wie funktioniert die map-Methode in Ruby? Eine Übersicht über die Funktionsweise der Methode mit Beispielen

meme code
meme code@memecode
Was bedeutet der Punkt am Anfang einer Datei (.gitignore, .DS_Store, .bashrc usw.)?
02. Aug, 13:15 Uhr

Was bedeutet der Punkt am Anfang einer Datei (.gitignore, .DS_Store, .bashrc usw.)?

meme code
meme code@memecode
Wie entfernt man die .DS_Store-Datei aus einem Git-Repository?
02. Aug, 19:34 Uhr

Wie entfernt man die .DS_Store-Datei aus einem Git-Repository?

meme code
meme code@memecode
Was ist eine idempotente Methode?
21. Aug, 20:57 Uhr

Was ist eine idempotente Methode?

meme code
meme code@memecode
Was ist ein Repository?
21. Aug, 21:25 Uhr

Was ist ein Repository?

meme code
meme code@memecode
Was ist ein Commit im Kontext von Programmierung und SCM / Git?
21. Aug, 21:37 Uhr

Was ist ein Commit im Kontext von Programmierung und SCM / Git?

meme code
meme code@memecode
Was ist SCM (Source Control Management)?
21. Aug, 21:46 Uhr

Was ist SCM (Source Control Management)?

meme code
meme code@memecode
Welche Hierarchie hat das DOM (Document Object Model)?
23. Aug, 09:22 Uhr

Welche Hierarchie hat das DOM (Document Object Model)?

meme code
meme code@memecode