Warum funktioniert meine aktualisierte .gitignore-Datei nicht für Dateien, die nachverfolgt werden?

Lesezeit: 3 Minuten

Benutzeravatar von shin
Schienbein

Ich habe die folgende .gitignore-Datei

# file named .gitignore

system/application/config/database.php
system/application/config/config.php
system/logs
modules/recaptcha/config/*

Wenn ich jedoch Änderungen in config und recapcha.php hinzufüge, warnt mich git status wie folgt. Wenn ich Änderungen an database.php hinzufüge. es zeigt es nicht im Status

shin@shin-Latitude-E5420:/var/www/myapp$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   modules/recaptcha/config/recaptcha.php
#   modified:   system/application/config/config.php
#
no changes added to commit (use "git add" and/or "git commit -a")

Wie kann ich das beheben?

Ich verwende Git-Version 1.7.5.1 auf Ubuntu 11.04

  • Mögliches Duplikat von Git: Entfernen Sie eine Datei aus dem Repository, ohne sie aus dem lokalen Dateisystem zu löschen

    – Kaskabel

    1. Februar 2012 um 20:31 Uhr

Benutzeravatar von DipSwitch
DIP Schalter

Die Dateien sind bereits in Ihrem lokalen Commit-Baum gespeichert. Sie müssen sie zuerst aus dem Repository entfernen. Dies kann erfolgen über:

git rm --cached system/application/config/config.php modules/recaptcha/config/recaptcha.php

Danach müssen Sie noch einen Commit machen und Sie können loslegen.

  • Vielen Dank. git rm hat eine Datei entfernt. Aber das Hinzufügen von –cached löste das Problem. Was muss ich tun, wenn ich es wieder hinzufügen möchte? Muss ich nur aus der .gitignore-Datei herausnehmen?

    – Schienbein

    17. Mai 2011 um 12:53 Uhr


  • Großartig. Danke dir

    – manuelbcd

    25. Oktober 2017 um 10:23 Uhr

Gehen Sie wie folgt vor, um die auszulösen ignorieren

Schritt 1:
Committen Sie alle Ihre ausstehenden Änderungen im Repo, die Sie beheben möchten, und übertragen Sie diese.

Schritt 2:
Jetzt müssen Sie alles aus dem Git-Index entfernen, um Ihr Git-Repository zu aktualisieren. Das ist sicher. Verwenden Sie diesen Befehl:

git rm -r --cached .

Schritt 3:
Jetzt müssen Sie alles wieder in das Repo einfügen, was mit diesem Befehl möglich ist:

git add .

Schritt 4:
Schließlich müssen Sie diese Änderungen mit diesem Befehl festschreiben:

git commit -m "Gitignore issue fixed"

  • DANKE SCHÖN! einfachste und schnellste Weg.

    – Wanderung Nalbandyan

    30. Mai 2019 um 7:34 Uhr

  • Das hat perfekt funktioniert! Es war so einfach. Vielen Dank @NandaGopal

    – Adam

    2. März 2020 um 23:20 Uhr

  • Das ist genau das, was ich brauchte und mir den Tag gerettet hat. Vielen Dank

    – willkürlich

    3. Februar 2021 um 10:20 Uhr

Wenn sich Ihre Datei bereits in Git befindet, bevor Sie das Verzeichnis zu .git hinzufügen, wird Git sie weiterhin verfolgen. Wenn Sie es nicht möchten, führen Sie zuerst ein “git rm” aus, um es zu entfernen.

  • Gewohnheit git rm (ohne --cached) auch die Datei entfernen? Oder belässt es es, weil es in der aufgeführt ist .gitignore Datei?

    – DIP Schalter

    17. Mai 2011 um 12:26 Uhr

  • Sie sollten es wahrscheinlich vorher irgendwo sichern. Nachdem Sie rm und commit ausgeführt haben, kopieren Sie es zurück. Aber ich wusste nichts über die Option –cached, ich werde sie mir ansehen.

    – Eric Hogue

    17. Mai 2011 um 12:40 Uhr


Ich vermute, dass Sie .gitignore nicht im Stammverzeichnis Ihres Arbeitsbaums finden.

Wenn Sie eine .gitignore-Datei im selben Verzeichnis wie system/application/config/config.php ablegen, können Sie sie einfach verwenden

echo config.php >> system/application/config/.gitignore

Die Pfade sind relativ zum aktuellen Verzeichnis (oder: .gitignore ist eine pro Verzeichnis Datei ausschließen/einschließen).

Siehe Mann git-ignorieren

1440930cookie-checkWarum funktioniert meine aktualisierte .gitignore-Datei nicht für Dateien, die nachverfolgt werden?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy