2011-08-26 18 views
63

Właśnie zacząłem używać gita w Vista, z moim repozytorium pod /path/to/project/git repo.Jak zmienić nazwę folderu głównego Git?

Stwierdziłem, że miejsce w nazwie folderu jest drobną irytacją podczas pracy w git bash.

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

Próbowałem po prostu wziąć kopię Windows z głównego folderu i uruchomić na tym git bash, a "git log" pokazuje zmiany, które wcześniej zrobiłem. Zakładam, że zmiana nazwy głównego folderu jest OK, ale chciałbym się upewnić, zanim przejdę dalej.

Odpowiedz

42

Aby zmienić nieco Greg „s answer, tak, wszystko z repo git jest w stosunku do katalogu .git macierzystej, ale:

(i to prawdopodobnie nie będzie wpływać bezpośrednio, tylko wymienić te powody tutaj kompletności sake).

  • ścieżka samego repo może być określany przez innych usług uruchomionych na komputerze (Apache, ssh, kolejny repo deklarując swoją repo jako pilota, używając pełnej ścieżki pliku, gitolite warstwa deklarująca twoje transakcje repo w określonej ścieżce, ...)
  • Niektóre operacje używają pełnej ścieżki repo (np. GIT_INDEX_FILE, używając na przykład w komendzie filter-branch, patrz this thread), więc oczywiście nie zmieniaj nazwy katalogu głównego podczas wykonywania złożonej operacji na repozytorium.

Plus, „System Windows skopiować” (zamiast git clone), skopiuje wszystko, łącznie haków, które mogą obejmować ścieżkę bezwzględną w swoim skrypcie jeśli je i edytować wykonane tych rodzaju modyfikacji.

+2

, więc jeśli ktoś ma praktyczne, wyraźne kroki, aby się upewnić, że będzie to bardzo przydatne. – ahnbizcad

+0

@Gwho jaki krok, oprócz zmiany nazwy folderu repo? – VonC

67

Tak, można bezpiecznie zmienić nazwę folderu zawierającego repozytorium Git. Wszystkie ścieżki wewnątrz repozytorium Git są względne.

+0

Świetne, dzięki. –

5

Moim zdaniem, najlepiej jest używać workflow git, zwłaszcza podczas korzystania z serwera git (repozytorium zdalnego mistrz), co oznacza:

  • dostać stary katalog w synchronizacji z git serwer (git pull, git push i wreszcie git status aby sprawdzić, czy wszystko jest w porządku)
  • git clone <former directory> <new directory>

(Ponieważ jestem również nowy w GIT, to może nie być pełną, poprawną odpowiedzią. Miałem takie samo pytanie jak Mick i dla celów nauki próbowałem to zrobić git :) Dziękuję za wskazówkę, vonC! Proszę poprawić mnie, jeśli to konieczne :)

+1

Jeśli "git clone ", nie musisz najpierw tworzyć '". "Klon git" utworzy go dla ciebie. – VonC

+0

@VonC: thx, zmieniłem to – PythoNic

+1

Nie sądzę, że robi to, co chcesz. Ustawia to początek '' na ''. Tak więc 'git remote -v' w' 'wyświetliłby' origin C:/old/directory'. – kvu787