2014-01-07 6 views
0

Я новичок в git, и я хочу начать делать вещи «правильно». Я совсем как этот поток:Git rebase flow

git checkout -b featurebranch 
git commit -m "some changes" // manytimes 
* 
git pull // update master to origin's head 
git checkout featurebranch 
git rebase master // rebase my feature branch 
git checkout master 
git merge featurebranch --no-ff // keep branch and merge to master 

Но проблема у меня в том, что я хотел бы push изменений где-то, где * есть и это приносит некоторые осложнения заканчивали featurebranch. Проще говоря, я не могу подталкивать дочернюю ветку, потому что «она позади ...». Удаление удаленных origin/featurebranch или git push -f Я рассматриваю как обходные пути. Что-то не так в моем потоке или просто в моем понимании, чтобы git?

Я хочу:

  • избежать эпического сливаться
  • избежать ветви ад (*)
  • избежать быстрой перемотки вперед (см коммитов gruped по отраслям)
  • резервного копирования/делюсь местных отделений (*)

Я мог бы решить это, забыв одно из *. Это необходимо?

ответ

1

Rebasing опубликованные коммиты is strongly discouraged. Короче говоря, при переустановке вы создаете совершенно новые объекты фиксации с разными идентификаторами (хэши).

Если вы хотите опубликовать свою ветку функций при работе, это намного лучше, чем merge, когда вы закончите, а не перезарядите.