Dlaczego dbasz o to, co znajduje się w katalogu roboczym na serwerach BitBucket? Tak długo jak będziesz naciskał zmiany będą w repozytorium i widoczne na stronie BitBucket.
EDYCJA: OK, zamierzam edytować tę wiadomość, aby była użyteczną odpowiedzią.
Załóżmy, że klonujesz jeden z moich repozytoriów, takich jak django-hoptoad na BitBucket. Będziesz mieć folder o nazwie django-hoptoad
na lokalnym komputerze i jego zawartość będzie wyglądać mniej więcej tak:
django-hoptoad/
|
+-- .hg/
|
+-- ... my code and other folders
wszystkie dane o repozytorium sama jest przechowywany w folderze .hg/
. To tutaj Mercurial przechowuje dane o tym, które pliki zostały zmienione, w których zestawach zmian i wiele innych rzeczy.
Można myśleć o tym tak (choć jest to uproszczenie):
django-hoptoad/
|
+-- .hg/
| |
| +-- data about changeset 1
| +-- data about changeset 2
|
+-- ... my code and other folders as they appear in changeset 2
Po uruchomieniu hg pull
i nie aktualizować, można wyciągnąć żadnych nowych Zestawienia zmian w repozytorium:
django-hoptoad/
|
+-- .hg/
| |
| +-- data about changeset 1
| +-- data about changeset 2
| +-- data about changeset 3 (NEW)
| +-- data about changeset 4 (NEW)
|
+-- ... my code and other folders as they appear in changeset 2
Jeśli nie zaktualizujesz, ... my code and other folders
nadal będzie równoważny z tym, co jest w changeset 2
, ale inne zestawy zmian wciąż znajdują się w repozytorium.
Po uruchomieniu hg update
Mercurial zaktualizuje ... my code and other folders
do zawartości najnowszego zestawu zmian.
django-hoptoad/
|
+-- .hg/
| |
| +-- data about changeset 1
| +-- data about changeset 2
| +-- data about changeset 3
| +-- data about changeset 4
|
+-- ... my code and other folders as they appear in changeset 4
Naprawdę, oznacza to, że to, co dzieje się w ... my code and other folders
nie musi odpowiadać co jest w repozytorium. można po prostu usunąć go i wszystkie Zestawienia zmian nadal będzie w repozytorium:
django-hoptoad/
|
+-- .hg/
|
+-- data about changeset 1
+-- data about changeset 2
+-- data about changeset 3
+-- data about changeset 4
Jeśli popełnione teraz, byłoby utworzyć nowy changeset że w zasadzie mówi „nie” plików. Nie musisz się jednak angażować. Ludzie wciąż mogą naciskać i wyciągać od ciebie, ponieważ repozytorium nadal ma wszystkie dane dotyczące zestawów zmian.
To prawie na pewno działa BitBucket. Nigdy nie będziesz logował się na serwerach BitBucket, edytowałeś swojego kodu i zatwierdzałeś go - będziesz tylko naciskać/ciągnąć/klonować. Oznacza to, że ... my code and other folders
nigdy nie zostanie użyty, więc wyobrażam sobie, że Jesper skonfigurował go do usunięcia, aby zaoszczędzić miejsce na dysku.
Od hg update
tylko naprawdę wpływa na katalog roboczy, a katalog roboczy na BitBucket nigdy nie jest używany, nie trzeba uruchamiać hg update
po naciśnięciu przycisku BitBucket.
Chyba nie wyjaśniłem tego wystarczająco dobrze. Robię swoje kodowanie na mojej lokalnej maszynie. Kiedy jestem zadowolony, robię "hg commit" na mojej lokalnej maszynie. Do tej pory tak dobrze, ale teraz bitbucket jest na zdjęciu. Więc "naciskałem" na bitbucket. Więc nie muszę "hg update" na bitbucket? Jeśli tak, w jaki sposób mogę to zrobić? – chefsmart