Используя git, как объединить отслеживаемую ветку с удаленным источником / HEAD? - PullRequest
1 голос
/ 09 января 2012

Я попал в местный беспорядок репо. Длинная история Короче, у меня была копия удаленного репо; Я создал ветку my_branch в моем локальном репо; Я совершил работу несколько раз. Затем я просто подтолкнул ветку к удаленному репо. Вот моя схема локального репо ... (так как я перенес my_branch на пульт, это тоже выглядит как пульт).

--C0--------------C4--  (local master) 
      \
       --C1-C2-C3--     (local my_branch)

Затем я решил попытаться сделать перебаз, но, думаю, я все испортил. Я также попытался сделать git reset --hard, и я думаю, что повредил свое локальное репо еще немного. Поэтому я решил начать с чистого места. Я взял my_branch из удаленного репозитория после этого .

Затем я проверил origin / my_branch с пульта. (Теперь я вижу, что у меня есть «отсоединенный HEAD» в моем инструменте с графическим интерфейсом GitX.) Теперь ... как мне объединить эту ветку с origin / HEAD, он же origin / master на удаленном компьютере?

1 Ответ

1 голос
/ 09 января 2012

Сделайте ветку прямо там, где вы хотите, чтобы эта работа отслеживалась

git checkout -b new-branch HEAD

Теперь вы можете проверять другие ветви и объединять или перебазировать их.

Чтобы получить локальную ветку для удаленной, которую вы еще не отслеживаете:

git checkout -t origin/some-branch

Теперь просто поднимите ветви. Скорее всего вам потребуется силовой толчок

git push -f origin some-branch
...