Мы используем центральный репозиторий git, который я клонировал, и я работаю над локальной ветвью.Как эффективно пересобирать и нажимать локальную ветку git?
Когда я хочу, чтобы мои изменения доступными в центральном хранилище, я должен выполнить следующие команды (начиная с 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
Я хотел бы знать, если это возможно, использовать меньше git для достижения той же цели. Несколько переключателей между master
и mybranch
особенно раздражают, так как наш репозиторий довольно большой, поэтому они занимают некоторое время.
Что вы подразумеваете под «предполагая, что это удаленная ветка отслеживания»? mybranch - это локальная ветвь, существующая только в моем собственном репозитории. Будет ли ваше решение работать и при этих обстоятельствах? – siebert
«Удаленная ветка отслеживания» на самом деле является только локальной ветвью, за исключением того, что git запоминает удаленный репозиторий и ветвь по умолчанию, которые нужно использовать, когда вы выполняете «pull». В противном случае команды «git push» и «git pull» должны были бы предоставить полное местоположение репозитория. Вот пример создания удаленного отслеживания филиал $ GIT филиал feature_x происхождения/мастер или $ мерзавец контроль -b feature_x происхождения/мастер Если вы опустите пульт дистанционного SPEC («происхождения/мастер» в этом case), то feature_x не является ветвью удаленного отслеживания. –