Git changer de répertoire de travail

Je veux travailler avec Git, mais l'arbre de travail doivent être éloignées. Par exemple: si j'ai mon projet stocké à l'intérieur de ~/project et project.git stockées à l'intérieur de ~/git/project.git.

Ce que j'ai changé de travail de l'arbre via config:


worktree=/Users/myuser/project

Et je suis en mesure d'engager et de vue diff, mais quand j'ai essayé de faire git stash, je suis d'erreur:

fatale: /usr/libexec/git-core/git-stash ne peuvent pas être utilisés sans un arbre de travail.

Comment stocker .git répertoire loin de l'arbre de travail?
Et pourquoi j'obtiens cette erreur?

git config --get core.worktree retourne corriger répertoire de travail....

Essayez --git-dir ou de l'environnement de jeu de var GIT_DIR, voir acceptée réponse de stackoverflow.com/questions/5283262/...
J'ai vu la réponse, mais je suppose que, si je remplace GIT_DIR il va provoquer quelques dégâts lors de travail avec peu de référentiels dans la courte période de temps. J'ai trouvé worktree option de configuration, mais rien sur le répertoire de travail... Référentiel existent aussi, et je ne peux pas courir git init --git-dir. Comment utiliser --git-dir? toute la documentation? Pourrait-il être réglés via la config?
Normalement git recherche un .répertoire git dans le répertoire de travail courant. Si elle n'est pas là, il regarde dans le répertoire parent et ainsi de suite jusqu'à ce qu'il atteigne le répertoire racine. Dans votre installation, il ne sera jamais le trouver .git et, par conséquent, il ne sera également pas trouver .git/config. Donc, vous devez spécifier l'emplacement de la .répertoire git. Peut-être que vous pourriez utiliser un alias différent pour différents projet?
Merci beaucoup. L'explication ci-dessus est grande. J'ai la configuration des variables d'environnement GIT_DIR et GIT_WORK_TREE et tout devient OK. Quelque chose je vais le découvrir plus tard: option de configuration pour worktree. Pourquoi existe-t-elle?

OriginalL'auteur ValeriiVasin | 2013-05-28