【问题标题】:Resolve Git conflict after git merge upstream/master using both updated upstream and stashed changes in Sublime Text使用更新的上游和 Sublime Text 中的隐藏更改解决 git merge upstream/master 后的 Git 冲突
【发布时间】:2019-11-16 03:14:28
【问题描述】:

我遇到了 Git 冲突问题。我对从另一个项目分叉的本地存储库进行了一些(未提交的)更改。然后我决定从原始 repo 中获取更改 - 它告诉我必须存储更改,我这样做了。现在,当我尝试“git stash pop”时,它说与一个文件存在冲突,因为它有来自上游的更改以及我自己的更改。

我想要做的实际上是保留上游更改,并保留我自己的更改。我觉得这有一个明显的答案,但对我来说并不清楚。我在 Stackoverflow 上查找了几个类似的问题,但找不到确切的解决方案。

我的猜测是我必须手动更改 Sublime Text 中的文件(或进行硬重置?)但我不确定如何处理它。例如,上面写着“

这是 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

我稍微编辑了它以使其更具可读性,但基本上你可以看到上游添加了一个 标签,我的更改添加了一个 标签 - 我想保留两者。

提前致谢!

【问题讨论】:

    标签: git sublimetext3 sublime-text-plugin git-merge-conflict


    【解决方案1】:

    &lt;&lt;&lt;&lt;&lt;&lt;&lt; Updated upstream======= 之间显示的文本是在遥控器上修改的版本,而=======&gt;&gt;&gt;&gt;&gt;&gt;&gt; Stashed changes 之间的文本是您的更改。

    此时您需要做的是弄清楚如何将您自己的更改和遥控器上的更改整合到一致的东西中。 Git 不能为你做这件事,因为两边都修改了同一个块。该合并需要您作为程序员的分析。因此,将 &lt;&lt;&lt;&lt;&lt;&lt;&lt; ...&gt;&gt;&gt;&gt;&gt;&gt;&gt; ... 之间的所有内容替换为您认为正确的内容,删除冲突标记,确保您测试结果,这就是解决的冲突。

    【讨论】:

    • 谢谢!我最终重置了我的本地存储库,因为我在错误的分支上进行了更改:P 但据我所知,您的解决方案会奏效。我不确定是否将其标记为正确,因为我没有实际测试过。但感谢您的帮助:)
    • 他们的答案实际上是正确的,而且您说的并不是真正的“问题”,所以我认为将他们的答案标记为正确是合适的。
    • 好的,感谢您的意见 - 我会相信您的建议 :)
    猜你喜欢
    • 2020-05-28
    • 2020-08-30
    • 2019-01-11
    • 1970-01-01
    • 1970-01-01
    • 2013-03-14
    • 2017-05-15
    • 2019-03-14
    • 2014-12-23
    相关资源
    最近更新 更多