Gitignore nachträglich ins Repository hinzufügen

Der Artikel geht davon aus, dass ihr wisst was eine Versionsverwaltungssoftware ist. Ihr solltet auch die Git Grundbefehle wie init, add, commit kennen. Was immer wieder mal, auch bei Erfahrenden Codern, vorkommt ist das kleine .gitignore Chaos. Stellt Euch vor ihr habt bereits euer Initialcommit auf euer Repository gepusht. Dann stellt ihr fest: „Mist in meinem Projekt-Root Verzeichnis liegt ja meine devnotes.txt! Mit den ssh Zugängen und meinen Arztterminen, weil ich zu faul war das mir in mein Kalender zu hacken. Nicht schon wieder! f*c*!“ Wenn ihr wüsstet, was manche Entwickler so alles in ihrer Todolisten schreiben.

Nun haben wir augenscheinlich erst mal ein Problem. Aber das ist schnell gelöst.

Schritt 1: .gitignore Datei anlegen

Falls noch nicht geschehen, legt mit touch .gitignore im Projektroot die neue Datei an. Öffnet diese und schreibt die gewünschten Dateien oder auch Verzeichnisse rein, die zukünftig nichts mehr ins Repository gepusht werden sollen. In dem fiktiven Beispiel wäre es dann devnotes.txt.

#! das gehört in eure .gitignore Datei rein
# ignore theses files
devnotes.txt
# ignore theses folders
node_modules/

Dann erst mal:

git add . && git commit -m”added gitignore”
git push origin master

Wenn ihr im Team arbeitet müsst ihr vom Repro erst mal pullen. Allerdings muss dir hier dann bewusst sein, dass nun sehr wahrscheinlich dein Team deine Einkaufsliste kennt.

Schritt 2: Lösche die zu ignorierende Datei aus dem Repository

Jetzt haben wir eine gitignore die unsere devnotes.txt nicht mehr berücksichtigt. Aber das Problem ist hier noch nicht ganz gelöst. Ihr müsst nun die devnotes.txt aus dem Repository entfernen. Das machen wir mit:

git rm --cached devnotes
git commit -m”remove devnotes from repository ;-)”
git push origin master

Ein Fallstrick hier wäre die Commit Message. Diese verrät anderen nun, dass im Repository deine devnotes.txt liegen. Vielleicht sollte eure Commit-Message in diesem Fall etwas kryptischer ausfallen als sonst.

Ansonsten wäre wir nun hiermit durch und Problem gelöst.


Leave a Comment

Your email address will not be published. Required fields are marked *

*

*

Empfholende Artikel


NVM – Noder Version Manager

February 18, 2022

Als Fullstack oder Frontendentwickler benötigt man heute eigentlich immerNodeJS. Zumindest bei einem modernen Stack. Um zum Beispiel JS, CSS Dateien zu kompilieren oder in verschiedene Packages zu bündeln um es dann in das Projekt zu laden. Oder seine lokale Entwicklungsumgebung mit nützlichen Tools zu bereichern wie zum Beispiel Linter, Typescript. Wenn man mehrer verschiedene Projekte […]

InnoDB vs MyISAM

January 29, 2022

InnoDB setzt man ein um schnell Daten auszulesen. SELECT Anfragen werden hier schnell ausgeführt. MyISAM hingegen ist bei SELECT anfragen etwas langsamer aber dafür bei INSERT und UPDATE Anfragen schnell wie der Blitz. Daher kommt es häufig vor, dass man in einer Datenbank beide Formate vortrifft. Ich habe ein Projekt bei dem ich die Pageviews […]

Git Branch master zu main umbennen

December 20, 2021

Zuerst benennen wir unser Master in Main lokal um: 2. Nun möchten wir auf unserem entferntem Repository das selbe tun. Ändert den master auf main in eurem entfernetem Repository (GitLab, GitHub etc.). Dann könnt ihr von lokal aus: den neuen branch bespielen. Um den master jetzt zu löschen folgendes eingeben: Ich persönlich fand es unnötig […]

Sprechblassen mit HTML und CSS bauen

November 22, 2021

Es kommt immer mal wieder vor, dass man eine Sprechblase zum Beispiel in einer Kommentarbox bauen muss. Wie war das gleich nochmal?!? Man kann sich ja nicht immer alles merken und es gibt im Netzt auch nützliche Generatoren für diese Fälle. Für Sprechblasen könnte man zum Beispiel diesen hier nehmen: https://www.html-code-generator.com/css/speech-bubble-generator . Mit ein paar […]

Table colspan und rowspan Generator

November 21, 2021

Komplizierte Konstrukte mit Tabellen abzubilden war eigentlich eine Dispziplinzwischen den Jahr 2000 und 2003 herum. Immer wieder kommen aber bei Stackoverflow Fragen auf, wie man solche oder solche Tabellen darstellt. Statt auf das coole und moderne Grid System zurückzugreifen wird noch mit Tabellen gearbeitet. Wie auch immer. Wer sich den Horror mit colspans und rowspan […]

Eine bestehende Datenbank auf einem Docker laufen lassen

November 11, 2021

Stellt euch vor ihr bekommt die undankbare Aufgabe ein altes WordPress Projekt zu upgraden. Das Projekt hinkt bereits zwei Major Releases hinterher. Das bedeutet ihr könnt nicht einfach im Produktivsystem ein upgrade vollziehen. Ihr müsst euch das Produsystem auf eure lokale Entwicklungsumgebung kopieren. Dafür eignet sich Docker ganz gut. Heute gehe ich davon aus, dass […]