2012-08-22 19 views
6

Postąpiłem zgodnie z this post, aby skonfigurować zdalne repozytorium git.git initialize remote repo

Zamiast zaczynać od zera,

  1. zrobiłem jakiś postęp w moim PC1 (repo została stworzona za pomocą git init,)
  2. Teraz chciałem przenieść repo do serwera (tej samej podsieci)

    ssh [email protected]
    mkdir my_project.git
    cd my_project.git
    git init --bare

  3. Następnie lokalnie

    cd my_project
    git remote add origin [email protected]:my_project.git
    git push -u origin master

Teraz w zdalnym (serwer) repo, widzę te foldery

oddziały config opis HEAD haki informacji obiektów bibl

Spodziewałem/chcą zobaczyć tę samą treść, co mój lokalny (pc1) git repo

bin doc src

+1

Myślę, że nie rozumiesz, co robi opcja '--bare'. –

+2

W swoim * lokalnym * repozytorium spójrz na folder '.git'. Tam właśnie 'git' przechowuje informacje o repozytorium i właśnie to magazynuje serwer. Nie ma * katalogu roboczego *, przechowuje jedynie informacje o repozytorium - tj. Zawartość folderu '.git'. – simont

Odpowiedz

8

Zainicjowano nagie repozytorium po stronie zdalnej. Oznacza to, że przechowuje historię, ale nie ma katalogu roboczego (tłumaczenie - brak faktycznej realizacji projektu). Struktura, którą widzisz, jest normalna.

+0

dzięki Chris. Tak więc, jeśli pominę init w kroku 2 (na serwerze), będzie działać zgodnie z oczekiwaniami. Czy to właściwe podejście, aby repozytorium serwera odzwierciedlało mój lokalny. – bsr

+0

Nie polecam uruchamiania bez '--bare'. Powód jest następujący: załóżmy, że wprowadzasz zmiany na jakimś zdalnym kliencie. Następnie naciskasz na swój serwer. Można * oczekiwać * automatycznego aktualizowania katalogu roboczego na serwerze. Tak nie jest. Z tego powodu rzeczy mogą stać się mylące. Zamiast tego zalecam, abyś po prostu przyzwyczaił się do tego, że centralny serwer ma być pusty i za każdym razem, gdy chcesz go zatwierdzić, sklonujesz projekt w innym miejscu i przekazujesz swoje zmiany. –

4

git init --bare oznacza utworzyć gołe repozytorium, zamiast roboczą repozytorium. Nieosłonięte repozytorium zwykle przechowuje się na serwerze i wygląda tak, jak katalog .git twojego pracującego repozytorium r.