Jestem całkiem nowy, używając git i zastanawiałem się, czy to jest ok, aby skopiować repozytorium git z typowych poleceń systemu UNIX (jak cp
lub tar
/ untag
), a nie przez git clone
.
Mam sytuację, w której mam środowisko produkcyjne (python virtual), w którym jakiś kod został wypisany w git. Zastanawiam się, czy to zły pomysł z punktu widzenia git, aby skopiować całe środowisko za pomocą tar
czegoś lub czegoś. Takie podejście byłoby wygodne przy tworzeniu szybkiej kopii bazy kodu / środowiska.
Obawiam się, że być może klon git kojarzy jakiś unikatowy identyfikator z kopią roboczą, która może powodować konflikty, jeśli istnieją dwie kopie robocze, w których jedna została skopiowana z systemu plików od drugiej.
Odpowiedzi:
Jest całkowicie w porządku.
git
przechowuje całą swoją historię, zatwierdzenia itp. na miejscu - jest to podstawowa właściwość DCVS.Technicznie rzecz biorąc,
git
może działać dobrze z kopiowanymi repozytoriami biegającymi wszędzie, ponieważ sedno DCVS polega na tym, że nie musi wiedzieć, co się dzieje poza danym repozytorium , a tak naprawdę nie, chyba że to powiesz .Ta sama zasada obowiązuje tutaj.
źródło
git remote remove origin
, co powstrzymuje Git przed użyciem repozytorium nadrzędnego jako nadrzędnego.Powinieneś być w stanie skopiować cały katalog roboczy do dowolnego miejsca w systemie i kontynuować jego normalne działanie podczas korzystania z Git, Hg lub SVN. Nie mogę komentować innych SCM.
źródło
Jest to bardziej nietypowy przypadek użycia, ale ...
Widziałem, jak
repo
narzędzie tworzy dowiązania symboliczne w.git
katalogu. W takim przypadku, gdy robisz kopię, powinieneś upewnić się, że dereferencje linków symbolicznych. Na przykład:źródło
Jest w porządku, ale jeśli masz zamiar udostępnić swoje repo komuś innemu, weź pod uwagę następujące kwestie :
config
pliku mogą znajdować się piloty, których inna osoba może nie obchodzić.logs
folder będzie zawierał odniesienia, których możesz nie chcieć udostępniać. Git świetnie radzi sobie z robieniem nieprzyjemnych rzeczy na komputerze, dopóki nie poczujesz się komfortowo z końcowym rezultatem, a następnie przesuń go do pilota, aby (od czasu do czasu) udostępnić go. Niektóre z tej paskudnej historii mogą znajdować się w twoim dzienniku logowania, więc lepiej nie udostępniać jej IMHO.info/exclude
plik może ignorować niektóre pliki, które tylko ty chcesz zignorować.źródło