Używamy centralnego repozytorium git, które sklonowałem i pracuję w lokalnym oddziale.Jak skutecznie zmienić bazę i przesunąć lokalny oddział GIT?
Kiedy chcę, aby moje zmiany dostępne w centralnym repozytorium, muszę wydać następujące polecenia (począwszy od mybranch
):
#Stash local changes not yet ready for checkin
git stash
#Make sure we have all changes from the central repository
git checkout master
git pull
#Rebase local changes
git checkout mybranch
git rebase
#Push changes
git checkout master
git merge mybranch
git push
#Back to my branch and continue work
git checkout mybranch
git stash apply
Chciałbym wiedzieć, czy możliwe jest, aby używać mniej Polecenia git, aby osiągnąć ten sam cel. Kilka przełączników między master
i mybranch
jest szczególnie denerwujących, ponieważ nasze repozytorium jest dość duże, więc zajmuje trochę czasu.
Co masz na myśli mówiąc "zakładając, że jest to gałąź zdalnego śledzenia"? mybranch jest gałęzią lokalną, istniejącą tylko w moim własnym repozytorium. Czy Twoje rozwiązanie działa również w takich okolicznościach? – siebert
"Zdalna gałąź śledzenia" jest tak naprawdę tylko lokalną gałęzią, z tym wyjątkiem, że git zapamiętuje domyślne repozytorium i gałąź do użycia podczas wykonywania "pull". W przeciwnym razie polecenia "git push" i "git pull" musiałyby podać pełną lokalizację repozytorium. Oto przykład tworzenia zdalnego branży śledzenia $ git branch feature_x origin/master lub $ git checkout -b feature_x origin/master Jeżeli pozostawisz wyłączyć zdalne spec ('Powstanie/master' w tym case) wtedy feature_x nie jest gałęzią zdalnego śledzenia. –