Простая перебазировка - но я не могу понять это - PullRequest
1 голос
/ 14 февраля 2012

Мой мозг явно не может справиться с Git. Я пытаюсь. Я терплю неудачу.

Все, что я хочу сделать, это следующее

  1. У меня есть репозиторий Github "myrepo", разветвленный от другого, "itsrepo", который отстает на 6 месяцев, но в нем есть несколько изменений "myfeature".
  2. Я хочу переместить мою функцию в ветку "B".
  3. Затем я хочу сделать основную ветвь myrepo идентичной ветке их репо, включая историю.

То есть я хочу вернуть свой репозиторий в соответствие с центральным репозиторием, и все равно мои изменения будут храниться где-нибудь, чтобы я мог посмотреть их снова в будущем.

Кажется, достаточно просто, верно?

Я так далеко:

git clone git://github.com/myrepo
git branch myfeature
git push myfeature origin
git remote add theirrepo git://github.com/theirrepo
git fetch theirrepo

На данный момент у меня есть следующие ветки:

  • мастер * * 1023
  • theirrepo / мастер
  • myfeature

Как мне извлечь изменения из их репо / мастера и записать их поверх моего мастера без слияния или сохранения какой-либо истории? У меня есть смутное представление о том, что это то, что должно делать rebase. Однако все учебники по git предполагают, что я хочу добавить свои локальные изменения в конец истории, чего я не делаю.

Что мне не хватает?

1 Ответ

1 голос
/ 14 февраля 2012

Следующий шаг:

git checkout master
git reset --hard theirrepo/master
...