Mam, jak zakładam, typowy przepływ pracy.
Nasz projekt działa z żądaniami ściągania.
Aby opracować nową funkcję, tworzę programistę. Oddział. Kiedy skończyłem z tą funkcją, niektóre zmiany zostały wprowadzone w trybie głównym więc chcę wprowadzić te zmiany do mojego oddziału, więc wysyłam żądanie ściągnięcia.
Z tego, co przeczytałem w Internecie, są na to dwie opcje:
- łączyć
- rebase
Jednak próbowałem obu z nich, ale kiedy wysyłam żądanie ściągnięcia, pokazuje, że wszystkie pliki zostały zmienione w tym pr.
Oto co zrobiłem:
na gałęzi
-- git commit -a -m "changes i made on my branch"
-- git checkout master
-- git fetch upstream
-- git merge upstream/master
-- git checkout mybranch
-- git merge master (or rebase)
-- git push origin mybranch
wynik - scalanie zatwierdzenia w historii pokazuje zmiany plików: 90
Jaki jest prawidłowy sposób pobierania aktualizacji z mastera do mojego oddziału?
Podobna sytuacja ma miejsce, gdy ktoś przegląda mój pr i muszę go zaktualizować. Po raz kolejny potrzebuję zmian od mistrza.
Dzięki za pomoc.
Odpowiedzi:
11 dla odpowiedzi nr 1Możesz pobierać zmiany z głównego do swojego oddziału za pomocą:
git checkout my_branch # move on your branch (make sure it exists)
git fetch origin # fetch all changes
git pull origin master # pull changes from the origin remote, master branch and merge them into my_branch
git push my_branch # push my_branch
1 dla odpowiedzi nr 2
- Git Checkout Mybranch
- git merge master (lub rebase)
Do tego jest poprawne
Następnie przekierowujesz bezpośrednio do swojego oddziału, wcześniej dodaj i zatwierdź w ten sposób.
- git add.
- git commit -m "msg po scaleniu"
- mybranch pochodzenia git push
Spowoduje to scalenie głównego kodu oddziału z twoim oddziałem (tj. Mybranch) i wypchnie kod do źródła