Ich möchte automatisch 2 Dateien vom Commit ausschließen, die Teil des Git-Repositorys sind, aber einige Änderungen aufweisen, die nicht Teil des Github-Repos sein sollten, da sie einige Änderungen aufweisen, die nur für mein lokales System von Bedeutung sind und nicht für das andere Entwickler.
Ich habe sie hinzugefügt .git/info/exclude
in der Hoffnung, dass Git versteht, dass er keine Änderungen an ihnen vornehmen sollte:
# 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]
a.conf
b.conf
# *~
aber git status
listet sie immer noch als zum Commit bereitgestellt auf:
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: build/conf/a.conf
# modified: build/conf/b.conf
#
Ich möchte sie nicht regelmäßig bei jedem Commit aus der Staging-Umgebung entfernen (einmal könnte ich es einfach vergessen), wie kann ich das tun?
Warum nicht
.gitignore
?– Außenseiter
4. Juni 2012 um 10:25 Uhr
Sie können Dateien, die Sie verfolgen, nicht ignorieren. Sie müssen wahrscheinlich einen anderen Weg finden, lokale systemspezifische Informationen zu verwalten, wie z. B. “Vorlagendateien”, aus denen Sie Konfigurationsdateien generieren oder manuell bearbeiten.
– CB Bailey
4. Juni 2012 um 10:31 Uhr
@maverik: wenn
exclude
funktioniert nicht,.gitignore
wird es auch nicht. Der Anwendungsfall fürexclude
ist, dass diese Informationen lokal während.gitignore
konnten eingecheckt und geteilt werden. Nehmenexclude
für Ihre lokalen Sachen, wenn Sie die nicht in die Luft jagen wollen.gitignore
. Stellen Sie sich ein großes Projekt vor, in das jeder Entwickler seine Ausschlüsse einträgt.gitignore
. Es wäre nicht mehr zu bewältigen…– eckes
4. Juni 2012 um 10:48 Uhr