Git schließt Datei für einen Zweig aus
Ich möchte bestimmte Dateien in einem Zweig ignorieren, ohne auf ein verfolgtes @ angewiesen zu sei.gitignore
-Datei, die beim Zusammenführen mit anderen Zweigen überschrieben wird.
Ich verfolge @ gena Stack Overflow answer zusammen mitdie verlinkten Blog-Post, aber mein Repo scheint das angegebene @ nicht zu erkennexcludesfile
in meinem.git/config
. Die Git-Dokumentation git-config
, gitignore
) zeigt anscheinend nicht, wie eine Ausschlussdatei für einen bestimmten Zweig angegeben und adressiert wird.
My.git/config
sieht aus wie das
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
excludesfile = +/info/exclude
[branch "myspecialbranch"]
excludesfile = +/info/exclude_specialbranch
My.git/info/exclude
ie @ -Datei sieht folgendermaßen aus (standardmäßig habe ich sie nicht berührt):
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
.DS_Store
Ich habe kein.gitignore
Datei in meiner "specialbranch".
Wenn ich versuche, eine Datei wie @ zu ignorierinfo.php
, mein.git/info/exclude_specialbranch
Datei sieht so aus:
info.php
… Aber die Datei wird nicht ignoriert.
enn ich laugit status --ignored
, es werden nur die @ aufgelist.DS_Store
Datei aus dem Standardexclude
Datei
Allerdings, wenn ich @ hinzufüginfo.php
zu meinem.git/info/exclude
Datei
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
.DS_Store
info.php
it ignoriert die Datei perfekt.
Beachten Sie, dass es ohne die Zeile @ immer noch funktionieexcludesfile = +/info/exclude
unter[core]
im.git/config
. Git scheint zu wissen, wo das systemweiteexclude
ist, ohne dass ich es sagen muss.
Ich habe das Gefühl, dass.git/config
erkennt die Adresse meiner benutzerdefinierten Ausschlussdatei nicht:
excludesfile = +/info/exclude_specialbranch
… Höchstwahrscheinlich wegen der Verwendung von+
um den Ort des @ zu beschreib.git
Verzeichnis
Was ist die richtige Methode zum Adressieren von benutzerdefinierten Ausschlussdateien in den (neueren) Versionen von Git?
Ich verwende OSX 10.9.5 und Git Version 2.2.1.