Как синхронизировать две ветки в одном репозитории Git?

Вы абсолютно правы в этом отношении. В небольших тривиальных программах, где переменная должна существовать до смерти программы, нет никакой реальной выгоды для освобождения памяти.

Фактически, я когда-то был вовлечен в проект, где каждое выполнение программы был очень сложным, но относительно недолговечным, и решение состояло в том, чтобы просто сохранить выделенную память и не дестабилизировать проект, сделав ошибки, освобождающие его.

В большинстве программ это не вариант, или это может привести к выходу из памяти.

29
задан maček 25 October 2010 в 08:03
поделиться

3 ответа

Если вам не нужна ветвь вокруг:

Если вы слили foo обратно в master, «git branch -d foo», чтобы убить ветку темы, а затем "checkout -b foo" в будущем, когда вам снова понадобится взломать его.

Если вам нужна ветвь вокруг:

Вы можете перебазировать свою ветку темы на основную ветвь:

git checkout foo
git rebase master

Или:

git rebase master foo
33
ответ дан Adam Vandenberg 25 October 2010 в 08:03
поделиться

Я использую следующее, чтобы объединить изменения из двух веток (моей и вашей) и синхронизировать обе ветви для продолжения работы. Кажется, это работает. Кто-нибудь видит проблему с этим?

git checkout mine # make sure I'm on my branch
git commit -a     # commit changes
git push origin mine  
git checkout yours # switch to your branch
git pull origin yours # get changes you've committed & pushed
git checkout mine 
git merge yours # merge your changes into mine
git push origin mine 
git checkout yours 
git rebase mine # set your branch to the merged result
git push origin yours # push the merged result up to your branch on origin
git checkout mine # get back to my branch
1
ответ дан user74279 25 October 2010 в 08:03
поделиться

Перебазирование - это процесс перемещения или объединения последовательности коммитов в новый базовый коммит. Перебазирование наиболее полезно и легко визуализируется в контексте рабочего процесса ветвления элемента. Общий процесс может быть представлен следующим образом:

Git Rebase visual explanation

В приведенном ниже примере комбинируется git rebase с git merge для поддержания линейной истории проекта. Это быстрый и простой способ обеспечить быструю пересылку ваших слияний.

# Start a new feature
git checkout -b new-feature master
# Edit files
git commit -a -m "Start developing a feature"

В центре нашей функции мы понимаем, что в нашем проекте есть дыра в безопасности

# Create a hotfix branch based off of master
git checkout -b hotfix master
# Edit files
git commit -a -m "Fix security hole"
# Merge back into master
git checkout master
git merge hotfix
git branch -d hotfix

После слияния исправления с мастером у нас есть разветвленная история проекта. Вместо простого git-слияния мы интегрируем ветвь объектов с ребазой, чтобы поддерживать линейную историю:

git checkout new-feature
git rebase master

Это перемещает новую функцию на кончик мастера, что позволяет нам делать стандартный быстрый переход. прямое слияние с мастером:

git checkout master
git merge new-feature

Взято из Учебник по Atlasian Git Rebase

6
ответ дан Mauricio Gracia Gutierrez 25 October 2010 в 08:03
поделиться
  • 1
    element.get (0) .offsetLeft-> Только этот работал на меня! Спасибо! – jackkorbin 14 June 2017 в 16:55
  • 2
    element.get (0) .offsetLeft-> Только этот работал на меня! Спасибо! – jackkorbin 14 June 2017 в 16:55
  • 3
    element.get (0) .offsetLeft-> Только этот работал на меня! Спасибо! – jackkorbin 14 June 2017 в 16:55
  • 4
    element.get (0) .offsetLeft-> Только этот работал на меня! Спасибо! – jackkorbin 14 June 2017 в 16:55
  • 5
    element.get (0) .offsetLeft-> Только этот работал на меня! Спасибо! – jackkorbin 14 June 2017 в 16:55
Другие вопросы по тегам:

Похожие вопросы: