Chcę pracować z repozytorium Git, ale drzewo robocze powinno być zdalne. Na przykład: jeśli mój projekt jest przechowywany wewnątrz ~/project
i project.git
przechowywany wewnątrz ~/git/project.git
.Katalog roboczy zmiany Git
Co Zmieniłem drzewo roboczą poprzez config:
worktree=/Users/myuser/project
I jestem w stanie zobowiązać się i zobacz różnice, ale gdy próbowałem zrobić git stash
, mam błąd:
fatal:/usr/libexec/git-core/git-stash nie może być użyty bez działającego drzewa.
Jak przechowywać katalog .git
z dala od drzewa roboczego? Dlaczego pojawia się ten błąd?
git config --get core.worktree
powraca poprawny katalog roboczy ....
Spróbuj '--git-dir' lub pakiet Srodowisko var' GIT_DIR' patrz akceptowane odpowiedź http://stackoverflow.com/questions/5283262/what-is-a-git-work-tree-why-have-i-never-ededed-to-set-this-as-an-env-var- dlaczego – devconsole
Widziałem odpowiedź, ale zakładam, że jeśli przesłonię GIT_DIR to spowoduje pewne zamieszanie podczas pracy z kilkoma repozytoriami w krótkim czasie. Znalazłem opcję konfiguracji worktree, ale nic o katalogu roboczym ... Repozytorium też istnieje i nie mogę uruchomić 'git init --git-dir'. Jak korzystać z --git-dir? jakąkolwiek dokumentację? Czy można to ustawić przez config? – ValeriiVasin
Zwykle git szuka katalogu .git w bieżącym katalogu roboczym. Jeśli go tam nie ma, wygląda w katalogu nadrzędnym i tak dalej, aż dotrze do katalogu głównego. W twojej instalacji nigdy nie odnajdzie .git i dlatego też nie znajdzie .git/config. Musisz więc określić lokalizację katalogu .git. Może mógłbyś użyć różnych aliasów dla różnych projektów? – devconsole