gpt4 book ai didi

git - "This pull request contains merge conflicts that must be resolved."

转载 作者:IT王子 更新时间:2023-10-29 01:06:24 25 4
gpt4 key购买 nike

我在 PR 中遇到了这个错误,但是当我 git status 时它说 nothing to commit, working directory clean

那是在 PR 的分支上。

On branch pr12
nothing to commit, working directory clean

最佳答案

git status 告诉您关于您的工作目录树 和您的索引(暂存更改所在的位置)相对于最新提交的状态在当前分支上。您看到的输出意味着您磁盘上的文件与您分支上的最新提交完全匹配。也就是说,“没有什么可提交的”。

来自 GitHub 的消息不是关于提交,而是关于 merge 。 GitHub 想为您提供一种一键式方法将此分支 merge 到您的 master 分支中,但它不能,因为 merge 会导致冲突。由于 GitHub 无法通过网站帮助您解决冲突,因此它会要求您在自己的机器上解决它们。

处理这种情况最好的方法是将当前的master分支 merge 到你本地的topic分支,然后将结果推送到GitHub。为此,请执行以下操作:

$ git checkout pr12  # If you're not already on pr12
$ git fetch origin
$ git merge origin/master

(我假设 GitHub 远程名为 origin。它通常是,如果不是,您可能知道。)

首先,我们要确保我们在正确的分支上。然后我们确保我们拥有来自 GitHub 存储库上的 master 分支的最新代码。然后我们将该代码 merge 到我们的 pr12 分支中。

记住:git fetch origin 将我们本地的origin/master 更新为与GitHub 的master 相同,但不会触及本地分支简称为 master。我们必须检查我们的 master 分支以对其进行更改。相反,我们只是更新我们对 GitHub 上的内容的想法 (origin/master) 并将其 merge 到我们的 pr12 中。

当您运行 merge 命令时,您会看到冲突。这些代表了 git(和 GitHub)无法自动做出的决定。编辑这些文件,使它们成为您希望它们结束的方式。然后:

$ git add each/file.txt that/had/conflicts.conf
$ git commit # Your editor will open with a pre-filled
# commit message. Just save and close the file.
$ git push origin pr12

也就是说,我们添加我们修复的文件的版本,然后完成我们使用 git merge 开始的 merge 提交。最后,我们将带有新 merge 提交的分支推送到 GitHub。

既然我们已经解决了冲突,这个分支应该很容易以其他方式 merge 到 master 中。 GitHub 会注意到这一点,并为您提供一个绿色的“merge ”按钮。

关于git - "This pull request contains merge conflicts that must be resolved.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26241428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com