2017-11-10 5 views
0

Hier mein Problem ist:Bühne automatisch neue Dateien Git

Die .idea/Ordner jedes Mal, wenn ich an den Code eine Änderung aktualisiert werden, so muß ich es jedes Mal, wenn ich eine Änderung vornehme Bühne, die ermüdend .

Ich würde gerne wissen, ob es einen Weg durch Git bash (vorzugsweise) oder IntelliJ ist, so dass es automatisch inszeniert wird.

Vielen Dank für Ihre Zeit.

+4

Aus Neugier, warum? Normalerweise ist es eine schlechte Idee, .idea oder irgendwelche editorspezifischen Dateien zu binden, fast alle Projekte, an denen ich gearbeitet habe, haben diese Ordner zur .gitignore Datei hinzugefügt. – dubes

+0

oh, ich wusste nicht, dass es gängige Praxis, danke: D –

+0

Da Sie intellij verwenden, kann ich schwer einen Blick auf dieses Plugin empfehlen,: https://plugins.jetbrains.com/plugin/7495- -ignore macht das Hinzufügen von Inhalten zu Ihren .gitignore-Dateien zum Kinderspiel. Mach 'ne Chance, danke mir später und unterstütze dann den Entwickler des Plugins wenn du kannst! – dubes

Antwort

0

Bevor wir zu der Antwort ... wie andere bemerkt haben, ist die Übertragung von IDE-spezifischen Dateien normalerweise keine gute Idee. Mir ist bewusst, dass IDEA eine Menge Konfiguration im Verzeichnis .idea speichert, und wenn Sie kein Build-Tool verwenden (wie Maven, wenn Sie so alt sind wie ich, oder Gradle, wenn Sie in moderneren Werkzeugen sind) , dann kann es sein, dass das Festschreiben dieser Dateien Arbeit bewahrt, die Sie nicht wiederherstellen möchten; aber ich würde empfehlen, ein IDE-neutrales Erstellungswerkzeug zu verwenden und die entsprechende Projektdefinitionsdatei zu übergeben (z. B. pom für maven usw.). Dann können Sie die .idea Dateien sicher entfernen und sie zu Ihren Ignorierregeln hinzufügen.

Aber ok, Ihre Frage ist, wie sicher Änderungen an einem bestimmten Pfad zu machen (.idea/**) enthalten sind in jedem begehen. Da Sie eine git bash-basierte Lösung bevorzugen, würde ich sagen, dass ein Alias ​​oder Skript die beste Wahl ist; solange Sie den Alias ​​oder ein Skript anstelle der normalen git commit verwenden, können Sie es das add.idea Verzeichnis vor dem begehen.

git config alias.ci '!git add :/:.idea && git commit' 

Die Änderungen werden immer noch als "unstaged" in git status auf. Da kann man nicht viel machen.

+0

Danke: D sehr informativ, ich werde die Maven Option erkunden, und wusste nicht, über Gradle, so danke für das auch :), wenn es nicht zu viel könnte fragen Sie mich zu orientieren, wie Projekt-Definitionsdatei zu begehen in Maven? Danke noch einmal. –

+0

Mit Maven würden Sie nur die Datei 'pom.xml' übergeben. Nicht wirklich anders als eine andere Datei zu speichern ('git add pom.xml';' git commit'). Ich bin mir nicht sicher, ob es mehr gibt als die Frage? –

+0

Es tut mir leid, ich merke jetzt, dass es so klar wie der Tag war. Vielen Dank, dass du dir die Zeit genommen hast, es zu erklären :) –

0

Sie müssen folgendes tun:

Erstellen Sie eine globale .gitignore Datei

git config --global core.excludesfile ~/.gitignore 

jetzt offen ~/.gitignore_global hinzuzufügen, um den gewünschten Ordner zu ignorieren:

echo ".idea/" >> ~/.gitignore 
+0

Gute Praxis, aber nicht was OP gefragt. –

+0

Vielen Dank für Ihre Antwort, es scheint keine andere Lösung neben den hier genannten oder darunter zu geben, vielen Dank, auch Sie Mark Adelsberger für Ihren Kommentar. –

Verwandte Themen