Jak zmienić nazwę katalogu głównego git?

Właśnie zacząłem używać git w Vista, z moim repozytorium pod /path/to/project/git repo.

Odkryłem teraz, że spacja w nazwie folderu jest drobnym irytacją podczas pracy w git bash.

Czy Mogę zmienić nazwę folderu na /path/to/project/gitrepo? Czy wszystko w git config jest względne, czy jest coś, co jawnie odnosi się do folderu nadrzędnego?

Próbowałem zrobić kopię folderu głównego dla systemu windows i uruchomić na nim git bash, a 'Git log' pokazuje zmiany, które wcześniej wprowadziłem. Zakładam więc, że zmiana nazwy folderu głównego jest OK, ale chciałbym się upewnić, zanim przejdę dalej.

Author: nbro, 2011-08-26

3 answers

Aby nieco zmienić Greg 'S ODPOWIEDŹ, Tak, wszystko z repo git jest względem .git katalogu nadrzędnego, ale:

(i to prawdopodobnie nie wpłynie bezpośrednio na Ciebie, wymieniam tylko te powody tutaj dla kompletności.):

    Do ścieżki samego repo mogą się odwoływać inne usługi działające na twoim komputerze (Apache, ssh, inny repo deklarujący Twoje repo jako zdalne, używając pełnej ścieżki pliku, a gitolite warstwa deklarująca Twoje repo repos na pewnej ścieżce, ...)
  • niektóre operacje używają pełnej ścieżki repo (jak na przykład GIT_INDEX_FILE używając polecenia filter-branch, Zobacz ten wątek), więc oczywiście nie zmieniaj nazwy katalogu głównego podczas wykonywania skomplikowanych operacji na repo.

Plus "kopia systemu windows" (zamiast git clone), skopiuje wszystko łącznie z hookami, które mogą zawierać ścieżkę bezwzględną w swoim skrypcie, jeśli je edytowałeś i dokonałeś tego rodzaju modyfikacji.

 45
Author: VonC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:54:51

Tak, zmiana nazwy folderu zawierającego repozytorium Git jest Bezpieczna. Wszystkie ścieżki wewnątrz repozytorium Git są względne.

 71
Author: Greg Hewgill,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-26 03:17:50

Moim zdaniem najlepiej jest użyć Git workflow , zwłaszcza gdy używasz serwera git (remote master repozytorium), co oznacza:

  • Synchronizuj Stary katalog z serwerem git(git pull, git push i w końcu git status aby sprawdzić, czy wszystko jest w porządku)
  • git clone <former directory> <new directory>

(Ponieważ jestem również nowy w GIT, może to nie być pełna, poprawna odpowiedź. Mam to samo pytanie Co Mick i w celu nauki starałem się zrobić to w git sposób :) dzięki za podpowiedź, vonC! Proszę mnie poprawić, w razie potrzeby :)

 5
Author: PythoNic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-18 19:31:53