2015-05-02 18 views
9

Z git site (kopalnia nacisk):Co nie zawiera folder .git?

Po uruchomieniu git init, w nowym lub istniejącym katalogu, Git tworzy katalog .git się , czyli tam, gdzie prawie wszystko, co przechowuje Git i manipuluje jest usytuowany. Jeśli chcesz utworzyć kopię zapasową lub sklonować swoje repozytorium , skopiowanie tego pojedynczego katalogu gdzie indziej daje ci wszystko, czego potrzebujesz.

Wymykają się "prawie" i "prawie" bez opracowania. Co nie jest znajduje się w katalogu .git? Jeśli chcę utworzyć kopię zapasową lub sklonować moje repozytorium, co daje mi kopiowanie tego pojedynczego katalogu w innym miejscu?

+0

Globalne konfiguracje nie są zawarte w katalogu '.git' – Maze

+0

@Maze Ale nie są specyficzne dla repozytorium. – TimWolla

+0

@TimWolla: To prawda, ale są to rzeczy, które "Git przechowuje i manipuluje". –

Odpowiedz

7

Git nie nagrywa:

  • grup plików
  • Właściciele plików
  • uprawnienia do pliku (inne niż "jest to plik wykonywalny")
  • Rozszerzone atrybuty
  • pustych folderów
  • (wszystko w .gitignore, ale to prawdopodobnie pożądane)
  • gitmodules

Prawdopodobnie this post może zapewnić więcej informacji

+0

Rzeczy, których Git nie rejestruje, różnią się od rzeczy, których nie dostaje się po skopiowaniu katalogu' .git' –

4

masz kilka innych .git pliki, które tworzą repozytorium poza folderze .git samej, w szczególności, czy:

.gitignore # contains the files that you do not want in the repository 
.gitmodules # contains the information on submodules 

Jak dobrze, jeśli masz submodule, trzeba będzie zwykły tekst złożyć .git wskazujący z powrotem do katalogu "prawdziwy repozytorium" - patrz git Repository Layout Docs

+0

Nie sprawdzasz ich? Jeśli nie, dlaczego nie? –

+0

Nie sądzę, żebyś sprawdził plik tekstowy '.git', ale mógłbym się mylić. Widziałem ludzi, którzy się zameldowali i nie sprawdzali w pliku '.gitignore'. – Michael

1

Twój użytkownik plik konfiguracyjny/globalny mieści się zazwyczaj w ~/.gitconfig

Plik konfiguracyjny systemu jest zazwyczaj w $(prefix)/etc/gitconfig

modułem informacje będą przechowywane w najwyższym poziomie katalogu roboczym w pliku .gitmodules

Informacje o ignorowaniu plików mogą pochodzić z dowolnej liczby plików .gitignore w twoim katalogu roboczym. Ale może również pochodzić z pliku wykluczeń przez git config --global core.excludesfile ~/.gitignore_global lub podobnego.

Jeśli masz alternatywny magazyn obiektów lub repozytorium odniesienia skonfigurowane w .git/objects/info/alternates, będziesz miał zależności zewnętrzne.