Chciałbym uzyskać informację zwrotną dotyczącą mojego przepływu pracy git, ponieważ jest to moje pierwsze użycie i pomimo przeczytania różnych artykułów i pytań związanych z przepełnieniem stosu, nie jestem pewien, czy mój proces jest poprawny. To jest mój obecny przepływ pracy (pamiętaj, że korzystam z aplikacji Github dla systemu Windows dla wszystkich moich interakcji git):Przepływ pracy Github dla pojedynczego programisty
- Zdecyduj, jaka będzie następna funkcja, którą zamierzam wprowadzić.
- Utwórz gałąź o odpowiednio opisowej nazwie dla funkcji. Robię to, klikając przycisk oddziału w Github dla Windows i wpisując nową nazwę.
- Napisz kod.
- Zatwierdź zmiany w moim nowym oddziale.
- Napisz więcej kodu.
- Zatwierdź zmiany w moim nowym oddziale.
- Skończyłem wdrażanie funkcji, więc chcę scalić moje zmiany z powrotem do gałęzi głównej. Klikam więc przycisk "zarządzaj" poniżej nagłówka oddziału.
- Scal nowy oddział w gałęzi głównej.
- Usuń nowy oddział.
Jestem całkiem zadowolony z procesu aż do kroku 7, w którym to momencie jestem nieco zdezorientowany. Myślę, że moje zamieszanie polega na tym, że próbuję użyć aplikacji Github dla Windows, zamiast korzystać z wiersza poleceń. Aplikacja wydaje się ułatwiać, ale jest trochę rozłączenia w moim zrozumieniu między niektórymi poleceniami/instrukcjami, które widzę, a działaniami, które podejmiesz w aplikacji.
Pozwól mi zadać kilka konkretnych pytań:
- Czy mój workflow rzeczywiście poprawna? Jeśli nie, co jest z nim nie tak i jak mogę to poprawić?
- Czy powinienem "publikować" moje zmiany w nowym oddziale? Rozumiem, że jest to odpowiednik wykonywania
git push
w linii poleceń. Czy to prawda? Jeśli tak, to myślę, że chciałbym to zrobić tylko wtedy, gdy albo skończę implementację funkcji, albo będzie ona w przyzwoitym stanie? - powinienem być usuwanie gałęzi, kiedy połączyły go do oddziału głównego lub należy pozostawić wokół wiecznie?
- Czy muszę opublikować główny oddział po zakończeniu scalania lub czy jest to domyślne?
- jestem czasami w stanie wykonać scalanie i ten komunikat o błędzie:
Nie można połączyć
Nie udało się połączyć „test” do „pana”. Może być konieczne otwarcie powłoki i debugowanie stanu tego repozytorium.
Gdy to nastąpiło, zanim udało mi się przejść do głównego oddziału i scalić nową gałąź do gałęzi głównej jednak, że już nie działa. Bez względu na to, w jakiej gałęzi się znajduję, nie mogę scalić dwóch gałęzi. Oba są zsynchronizowane i opublikowałem wszystkie zmiany z mojej gałęzi testowej. Co mam pisać w powłoce, aby dowiedzieć się, dlaczego nie mogę scalić oddziałów?
Dla porównania, to główne linki, które skłoniły mój proces:
- Scott Chacon on the workflow at Gitub
- Git workflow for a single developer on a local repository
- Git workflow for a single user
Dzięki - dobrze wiedzieć, że jestem na dobrej drodze! Nadal jestem trochę zdezorientowany przez gałęzie i wydaje mi się, że stąd bierze się mój silny ból głowy. Kiedy tworzę nowy oddział w Github dla Windows, czy powinienem oczekiwać, że utworzy on gdzieś nowy katalog? Bo jeśli tak nie jest, to po prostu edytuję kod znajdujący się w mojej głównej gałęzi? – Stu
Git przechowuje wszystko w garści delt w folderze .git. Więc kiedy tworzysz nowy oddział, to tak jakbyś pracował nad kopią swojej głównej/klonowanej gałęzi. Ale wszystko znajduje się w tym samym folderze (zatwierdzaj zmiany i odwróć gałęzie i otwórz ponownie plik, aby zobaczyć). Miej oko na wydział, który wypisałeś, ponieważ łatwo jest zacząć pisać kilka rzeczy, zapominając, że nie zmieniłeś oddziałów, a skończysz na tym, by zobowiązać się do opanowania zamiast oddziału. To tam bardzo przydatne są skrytki. – yellottyellott
Przepraszam, że nie zaakceptowałem tego jako odpowiedzi na moje pytanie wcześniej, niektórzy jakoś przegapili twój ostatni komentarz, który odpowiedział na wszystkie moje pytania. Dziękuję bardzo! – Stu