2016-09-18 3 views
0

Aus irgendwelchen Gründen aufgeführt werden, ich will statt .git ein lokales Repository mit einem benutzerdefinierten Verzeichnisnamen erstellen, benutzen ich die globale Option --git-dir und --work-tree (siehe https://git-scm.com/docs/git) auch konfigurierbar mit env vars:Spezifisches git-dir Verzeichnis soll nicht als „untracked“

export GIT_DIR=".customgitdir" 
export GIT_WORK_TREE="." 

Dann habe ich den Repo:

$ git init 
Initialized empty Git repository in XXXXXXXXX/.customgitdir/ 

Dann lief ich git status:

$ git status 
On branch master 

Initial commit 

Untracked files: 
    (use "git add <file>..." to include in what will be committed) 

    .customgitdir/ 

nothing added to commit but untracked files present (use "git add" to track) 

Sie können das lokale Repo-Verzeichnis als "nicht nachverfolgte Dateien" anzeigen, was ein Problem ist, wenn Sie danach git add . verwenden. Wenn das Standardverzeichnis .git verwendet wird, wird es logischerweise nicht im Befehl git status angezeigt. Warum ist das bei einem benutzerdefinierten Verzeichnisnamen nicht der Fall?

+1

Das Überspringen von '.git' ist fest in der Quelle codiert, unabhängig von' $ GIT_DIR'. Es gibt keinen eingebauten Code, um '$ GIT_DIR' zu überspringen, nur' .git'. – torek

Antwort

0

Sie können eine globale .gitignore-Datei erstellen, die für das Ignorieren von Dateien in jedem Git-Repository auf Ihrem Computer wie so eine Liste von Regeln ist:

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

und den Inhalt von ~/.gitignore_global wären: .customgitdir

Während Sie gerade dabei, andere nützliche umfasst nicht für die Datei sind, werden hier genannt: https://gist.github.com/octocat/9257657

Auch https://www.gitignore.io und https://github.com/github/gitignore

Verwandte Themen