Разрешить конфликт Git после git merge upstream / master, используя как обновленные upstream, так и сохраненные изменения в Sublime Text - PullRequest
0 голосов
/ 05 июля 2019

У меня проблемы с конфликтом Git.Я сделал некоторые (незафиксированные) изменения в своем локальном репо, разветвленном из другого проекта.Затем я решил получить изменения из исходного репо - он сказал мне, что я должен был спрятать изменения, что я и сделал.Теперь, когда я пытаюсь «git stash pop», он говорит, что существует конфликт с одним файлом, потому что в нем есть изменения от восходящего потока плюс мои собственные изменения.

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

Я думаю, мне нужно вручную изменить файл в Sublime Text (ИЛИ сделать полный сброс?), Но я не уверен, как к нему подойти .. Например, части, которые говорят "<<<«Обновленный апстрим» и т. д. меня смущает - я могу удалить их в Sublime Text ??Я немного нервничаю из-за того, что могу все испортить, тем более, что я хочу сохранить все изменения (вверх по течению плюс мои изменения) и не хочу ничего терять. </p>

Это часть файла в Sublime Text, показывающаяконфликт:

<<<<<<< Updated upstream
    <>
      <GithubLink color={values.bgColor} />

      <Wrapper>
        <Output values={values} />
        <ActionWrapper>
          <InputWrapper values={values} setters={setters} />
        </ActionWrapper>
      </Wrapper>
    </>
=======
    <Wrapper>
      <Output values={values} />
      <ActionWrapper>
        <InputWrapper values={values} setters={setters} />
        <Dropzone onDrop={acceptedFiles => console.log(acceptedFiles)}>
           {({getRootProps, getInputProps}) => (
              <section>
                 <DropZoneDiv {...getRootProps()}>
                    <input {...getInputProps()} />
                    <p>Drag 'n' drop some files here, or click to select 
                    files</p>
                 </DropZoneDiv>
              </section>
            )}
        </Dropzone>
      </ActionWrapper>
    </Wrapper>
>>>>>>> Stashed changes

Я немного отредактировал это, чтобы сделать его более читабельным, но в основном вы можете видеть, что у апстрима есть добавленный тег <\ GithubLink>, а мои изменения имеют добавленный тег <\ Dropzone> - Iхочу сохранить оба.

Заранее спасибо!

1 Ответ

2 голосов
/ 05 июля 2019

Текст, показанный между <<<<<<< Updated upstream и ======= - это версия, которая была изменена на пульте дистанционного управления, а текст между ======= и >>>>>>> Stashed changes - ваши изменения.

Что вы должны сделатьНа этом этапе вы должны понять, как интегрировать ваши собственные изменения и изменения на пульте в нечто связное.Git не может сделать это за вас, потому что один и тот же блок был изменен с обеих сторон.Это слияние требует вашего анализа как программиста.Поэтому замените все значения между <<<<<<< ... и >>>>>>> ... на то, что вы считаете правильным, удалите маркеры конфликта, убедитесь, что вы проверили результаты, и это разрешенный конфликт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...