36 Stimmen

Mercurial - Wie entfernt man eine Datei aus der Versionskontrolle?

So habe ich versehentlich eine Konfigurationsdatei (für jeden Rechner anders) in unsere Mercurial-Repositories aufgenommen.

Wie kann ich Mercurial dazu bringen, es nicht in die Versionskontrolle aufzunehmen? Ich möchte die Datei nicht löschen, da ich sie noch brauche. Und ich möchte auch nicht, dass die Datei in den Arbeitsverzeichnissen der anderen Entwickler gelöscht wird.

Und wie mache ich das in TortoiseHG?

39voto

Nate Punkte 1639

Rechtsklick auf die Datei -> TortoiseHG -> Dateien vergessen. Klicken Sie auf Vergessen. Übertragen und Synchronisieren.

Bearbeiten: Fügen Sie auch den Pfad zu Ihrem .hgignore um zu verhindern, dass es wieder hinzugefügt wird. Sie können im HG Commit-Dialog mit der rechten Maustaste auf die Datei klicken und wählen, dass sie ignoriert werden soll.

27voto

Sam Dolan Punkte 30838

Hier ist die manuelle Vorgehensweise über die Befehlszeile:

  1. Kopieren Sie die Konfigurationsdatei irgendwo außerhalb des Repositorys.
  2. Exécuter hg rm path/to/config/file
  3. Fügen Sie den Pfad der Konfigurationsdatei zu Ihrem .hgignore .
  4. Übertragen Sie das Repository.
  5. Verschieben Sie die Konfigurationsdatei wieder dorthin, wo Sie sie vorher hatten.
  6. Machen Sie eine hg stat in Ihrem Repository, um zu überprüfen, ob Sie alles richtig gemacht haben. (Sie sollte nicht in der Liste der geänderten/hinzugefügten Dateien auftauchen).

Editar :

hg forget ist der beste Weg, dies zu tun.

  1. Exécuter hg forget path/to/config/file
  2. Bearbeiten Sie Ihr .hgignore und fügen Sie den Pfad zur Konfigurationsdatei hinzu.
  3. hg ci um Ihre Änderungen zu speichern.
  4. Exécuter hg stat um sicherzustellen, dass alles nach Plan läuft.

Siehe nates Antwort für die Vorgehensweise TortoiseHG.

2voto

rmk Punkte 4245

hg remove o hg remove -f ? Ich glaube hg forget entfernt es ebenfalls aus dem Zweig.

In beiden Fällen bleiben die Dateien in Ihrem Verzeichnis erhalten.

-1voto

paradite Punkte 5938

Für diejenigen, die QuellBaum gibt es eine Option Stop Tracking Wenn Sie mit der rechten Maustaste auf eine Datei klicken, geschieht im Grunde das Gleiche wie hg forget o git rm --cache Die Datei wird aus dem Projektarchiv, aber nicht von der Festplatte entfernt.

-2voto

Rik Heywood Punkte 13598

Fügen Sie ihn zu Ihrer Ignorierliste hinzu.

Siehe die Datei .hgignore.

TortoiseHG ermöglicht Ihnen den Zugriff auf diese Konfigurationsdatei über den Menüpunkt "Ignorierfilter bearbeiten".

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X