it-swarm.com.de

Wie benutzt man den gitignore-Befehl in git?

Ich arbeite zum ersten Mal an git. Ich habe meinen Zweig auf Github getrieben und es hat alle Bibliotheken und Dokumente in den Github gesteckt. Was kann ich jetzt tun und wie kann ich den Befehl gitignore verwenden, um denselben Fehler erneut zu vermeiden.

85
user1559230

Basierend auf dem, was Sie gesagt haben, handelt es sich bei diesen Dateien um Bibliotheken/Dokumentationen, die Sie nicht löschen möchten, aber auch nicht in github verschieben möchten. Angenommen, Sie haben Ihr Projekt im Ordner your_project und einem doc-Verzeichnis: your_project/doc.

  1. Entfernen Sie es aus dem Projektverzeichnis (ohne es tatsächlich zu löschen): git rm --cached doc/* 
  2. Wenn Sie noch keinen .gitignore haben, können Sie einen direkt in Ihrem Projektordner anlegen: project/.gitignore
  3. Fügen Sie doc/* in den .gitignore ein 
  4. Stellen Sie die zu übertragende Datei bereit: git add project/.gitignore
  5. Commit: git commit -m "message"
  6. Drücken Sie Ihre Änderung in github.
116
u19964

Wenn Sie keine .gitignore-Datei haben, verwenden Sie zuerst:

touch .gitignore

dann diesen Befehl zum Hinzufügen von Zeilen in Ihrer Gititore-Datei:

echo 'application/cache' >> .gitignore

Seien Sie vorsichtig bei neuen Zeilen

22

git ignore ist eine konvention in git. Wenn Sie eine Datei mit dem Namen .gitignore Festlegen, werden die Dateien in diesem Verzeichnis und tiefere Verzeichnisse ignoriert, die den in der Datei enthaltenen __.-Mustern entsprechen. Am gebräuchlichsten ist es, nur eine Datei zu haben wie diese auf oberster Ebene. Sie können jedoch weitere tiefere Strukturen in Ihrer Verzeichnisstruktur hinzufügen, um noch mehr Muster zu ignorieren oder sie nicht mehr für dieses Verzeichnis und die tieferen zu ignorieren. 

Ebenso können Sie bestimmte Dateien in einer tieferen Struktur oder in einer bestimmten .__-Teilmenge "dekodieren" (dh Sie ignorieren * .log, möchten aber dennoch die wichtige.log-Datei verfolgen), indem Sie Muster angeben, die mit ! beginnen. z.B:

*.log !important.log

ignoriert alle Protokolldateien, verfolgt jedoch Dateien mit dem Namen important.log

Wenn Sie Dateien verfolgen, die Sie ignorieren wollten, löschen Sie sie, fügen Sie das Muster der Sie .gitignore-Datei hinzu und fügen Sie alle Änderungen hinzu

# delete files that should be ignored, or untrack them with 
# git rm --cached <file list or pattern>

# stage all the changes git commit
git add -A 

von jetzt an werden sie in Ihrem Repository nicht mehr verfolgt.

Wenn Sie Ihre Geschichte bereinigen möchten, können Sie

# if you want to correct the last 10 commits
git rebase -i --preserve-merges HEAD~10 

markieren Sie dann jedes Commit mit e oder edit. Speichern Sie den Plan. Jetzt wird git Ihren Verlauf wiedergeben und bei jedem Commit abbrechen, das Sie mit e markiert haben. Hier löschen Sie die __-Dateien, die Sie nicht möchten, git add -A und dann git rebase --continue, bis Sie Fertig sind. Ihre Geschichte wird sauber sein. Stellen Sie sicher, dass Sie Ihren Kollegen sagen, dass Sie Push erzwingen müssen, und sie müssen das, was sie noch nicht getan haben, erneut unter Beweis stellen. 

10
Adam Dymitruk

In Ihrem Git-Stammverzeichnis befindet sich eine Datei mit dem Namen .gitignore. Es ist eine Datei, kein Befehl. Sie müssen nur die Namen der Dateien einfügen, die Sie ignorieren möchten. Diese werden automatisch ignoriert. Wenn Sie beispielsweise alle automatisch gespeicherten Dateien von Emacs ignorieren möchten, die auf ~ enden, können Sie folgende Zeile hinzufügen:

*~

Wenn Sie unerwünschte Dateien aus Ihrem Zweig entfernen möchten, können Sie git add -A verwenden, um " Dateien zu entfernen, die sich nicht mehr im Arbeitsbaum befinden ".

Hinweis: Was ich "git root directory" nannte, ist einfach das Verzeichnis, in dem Sie git init zum ersten Mal verwendet haben. Dort finden Sie auch das Verzeichnis .git.

9

Es gibt verschiedene Möglichkeiten, gitignore git zu verwenden

  • angabe durch den spezifischen Dateinamen. Zum Beispiel, um eine Datei zu ignorieren
    heißt readme.txt und muss nur readme.txt in die .gitignore-Datei schreiben.
  • sie können auch den Namen der Dateierweiterung eingeben. Zum Beispiel zu
    ignoriere alle .txt-Dateien, schreibe * .txt.
  • sie können auch einen ganzen Ordner ignorieren. Zum Beispiel möchten Sie ignorieren
    Ordner mit dem Namen test. Dann schreibe einfach test/in die Datei.

erstellen Sie einfach eine .gitignore-Datei und schreiben Sie in eine Beispieldatei, die Sie ignorieren möchten:

# NPM packages folder.
node_modules

# Build files
dist/

# lock files
yarn.lock
package-lock.json

# Logs
logs
*.log
npm-debug.log*

# node-waf configuration
.lock-wscript

# Optional npm cache directory
.npm

# Optional REPL history
.node_repl_history

# Jest Coverage
coverage

.history/

Weitere Informationen finden Sie auf git documentation gitignore

2
Afaq Ahmed Khan

auf meinem Mac fand ich diese Datei .gitignore_global ..es war in meinem Home-Verzeichnis versteckt, also ls -altr, um sie zu sehen. 

Ich habe Eclipse-Dateien hinzugefügt, die ich ignorieren wollte. Der Inhalt sieht so aus:

 *~
.DS_Store
.project
.settings
.classpath
.metadata
1
j2emanue

Wenn Sie keine .gitignore-Datei haben. Sie können eine neue erstellen mit 

touch .gitignore

Sie können einen Ordner ausschließen, indem Sie den folgenden Befehl in die .gitignore-Datei eingeben 

/folderName

Schieben Sie diese Datei in Ihr Git-Repository, damit eine neue Person Ihr Projekt nicht erneut klonen muss