2013-03-26 16 views
8

Używam git jako po raz pierwszy dla systemu wersjonowania. Rozpoczynam nowy projekt, a więc eksperymentuję trochę z technologiami wykorzystywanymi w projekcie (przykłady na cześć świata ...) chcę stworzyć coś w rodzaju oddziału "plac zabaw". Czy często tworzy się nowy oddział "plac zabaw" czy powinienem po prostu utworzyć folder o nazwie plac zabaw w gałęzi głównej?Kiedy należy utworzyć nową gałąź?

pozdrowienia

Odpowiedz

13

Należy utworzyć nowy oddział, gdy robisz prace rozwojowe, które jest nieco eksperymentalny charakter. Więc w swoim scenariuszu zdecydowanie stwórz nową gałąź, a nie folder w obrębie wzorca. Jeśli twoja piaskownica działa jako katalog w systemie głównym, będzie tam rezydować, dopóki nie usuniesz go za pomocą git. Posiadanie martwego kodu w głównej gałęzi nie jest idealne pod żadnym pozorem, ponieważ może zmylić innych programistów i może po prostu siedzieć zgniło przez cały czas trwania aplikacji.

Jeśli Twój zespół miał doświadczyć błędu, nie życzyłbyś sobie, aby tracił czas na zbadanie pracy eksperymentalnej w celu ustalenia, czy błąd istnieje w tym katalogu. Utworzenie nowego oddziału pozwala wyizolować zmiany z gałęzi głównej. Jeśli twoje eksperymenty przebiegną pomyślnie, zawsze masz możliwość scalenia zmian w gałęzi głównej. Jeśli coś nie idzie tak dobrze, zawsze możesz odrzucić gałąź lub zachować ją w lokalnym repozytorium.

+2

"Powinieneś utworzyć nowy oddział ..." zawsze, kropka. –

3

Odgałęzienia mają wiele zastosowań i zależy to trochę od obiegu pracy. Dwie powszechnie stosowane przepływy pracy są:

Zarówno użyć tzw gałęzie temacie żeby zbudować nowe funkcje, które połączyły się z powrotem po gotowy/zaakceptowany.

Przepływ Github jest dość prosty i oczywisty jest to, co używa github. Gitflow jest nieco bardziej złożony i jest bardziej odpowiedni, gdy trzeba obsługiwać kilka wersji aplikacji, w których można zastosować poprawki.

Ostatecznie to kwestia preferencji, jakiego rodzaju przepływu pracy używasz, ale ponieważ tworzenie gałęzi jest bardzo tanie w git, nie ma znaczenia, ile gałęzi tworzysz (i ewentualnie ponownie usuwasz).

1

Najczęstszym sposobem jest użycie gałęzi głównej jako odgałęzienia na żywo. Następnie tworzysz nowe gałęzie od mistrza i pracujesz nad nimi (gałęzie funkcji). Po zakończeniu pracy scalisz zmiany z powrotem do swojego mistrza.

Możesz budować nowe gałęzie zdalne, takie jak gałąź dev i scalać zmiany w tej gałęzi, gdy chcesz tylko podgląd. Istnieje kilka metod, ale istnieje wiele informacji na google.

Branching and merging
Git branching model

1

Należy wyzywająco nauczyć poprzez eksperymentowanie ale w repo zabaw.
Katalog zabaw na repozytorium będzie mniej korzystny.
Baw się, popełniaj błędy, ucz się kilku rzeczy - usuń je kilka razy i szalej.

np.

$ mkdir playground 
$ git init 
$ touch hello-world 
$ git add hello-world 
$ git commit -m "my first commit" 
$ git branch goodbye 
$ git checkout goodbye 
$ echo "goodbye" | cat >>hello-world 
$ git status 
$ git add hello-world 
$ git commit -m "goodbye commit" 
$ git merge master 

Chciałbym również polecić chwytając widelec aktywnego projektu w języku wybranym z GitHub i dać go z łączących przebazowania etc tam z rzeczywistym kodzie.

1

Należy rozważyć utworzenie nowych oddziałów i pracować na nich w następujących przypadkach: -

  • Kiedy chcesz pracować/przetestować coś w środowisku piaskownicy.

  • Dobrym zwyczajem jest, aby twoje zobowiązania były krótkotrwałe. Częste zobowiązania z twojej strony mogą przeszkadzać w rozwoju innych osób. Lepiej więc zakończyć pracę w oddziale, a następnie połączyć swój oddział w główny oddział. [Wskazówka] Pamiętaj, aby Twój oddział był zsynchronizowany z główną gałęzią, często łącząc gałąź główną z gałęzią. Tak więc w późniejszym momencie nie masz wiele rzeczy do scalenia ręcznie.

  • Chcesz rozwiązać problem. Lepiej rozwiązać go na innej gałęzi i połączyć później.

  • Jeśli twój commit się nie powiedzie/zepsuł kompilację, nie ma to wpływu na produkcję. Więc wolę używać co najmniej dwóch gałęzi gałęzi dev i gałęzi prod. Kiedy wszystko zostanie w pełni przetestowane, połącz oddział dev z oddziałem produkcyjnym.

Powiązane problemy