2014-12-09 2 views
1

Отказ от ответственности: Я вроде как git и control control newb.ошибка в git, пытающаяся нажать после переустановки

На работе мы думаем об использовании git для управления нашими настройками для приобретенного нами продукта COTS. Мне немного сложно понять, как лучше подойти к этому.

Моя идея состояла в том, что у нас будет три проницаемостью ветви:

  • (файлы поставщика по умолчанию) мастер
  • золото (филиал мастера, наш добавленное материал + настроенные файлы поставщика, это источник золота)
  • развития (филиал золота, материал разрабатывается, дух)

рабочий процесс будет идти-то вроде:

  • патчей поставщика: филиал мастер, обновлять файлы, объединять обратно в мастер, перебазироваться золотом сливаясь нашими настройками обратно в поставщик обновленных файлов
  • для исправления (наш код): филиальное золото, исправить код, слить обратно в золото , перебазироваться Development
  • новых функций (наш код): ветви Dev, сливаться обратно в когда готов, слейте в золото, когда мы делаем релиз

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

git checkout development 
git checkout -b feat-myfeature 
*do my thing, commit changes* 
git checkout development 
git merge feat-myfeature 
git push 

git checkout gold 
git merge development 
git push 

git checkout master 
git checkout -b patch-xxxxx 
*update the vendor files, do commits* 
git checkout master 
git merge patch-xxxxx 

git checkout gold 
git rebase master 
*fix conflicts, adding back our customizations* 
git add . 
git rebase --continue 
git push (error!) 

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

Можете ли вы, ребята, предложить какие-либо предложения по улучшению этого потока?

редактировать: форматирование

ответ

0

Вы не можете нажать один раз ваши ветви разошлись. Единственный раз, когда вы можете нажимать изменения на сервере, - это когда ваша ветка впереди удаленной ветви и простое слияние fast-forward.

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

git push -f 
Смежные вопросы