在使用GitHub pull命令时出现错误

3

在使用Github时,我已经维护了本地代码库,并且总是在更改后将它们推送到主分支。但是最近我需要使用分支来解决一些问题。因此,我创建了一个以问题编号命名的分支。

git checkout -b 1

然后将所有更改添加并提交到新分支(分支1)。 然后,使用拉取请求从github repo中关闭原始问题,并与主分支合并。

突然间我想要向主分支添加一些更改,使用以下命令切换到主分支:

git checkout master

然后我添加更改并提交它们。之后,尝试使用以下方法将它们推送:

git push origin master

但是它不起作用并出现错误,"你应该先拉他们"。然后我使用拉命令,
git pull

但是当我执行拉取操作时,会提示“未将本地仓库与远程仓库合并”错误。

我该如何解决这个问题,将本地仓库与Github上的远程仓库合并,并推送我的当前更改?

1个回答

2

合并拉取请求后,Github主分支中将包含以下内容:

---*--...--A--M
    \        /
     *---P--R

其中A是合并前主分支上的最后一次提交,P和R是第1个分支上的提交,M是拉取请求的合并。

这时你想在主分支上进行修改,但却忘记了拉取主分支,所以你的本地主分支是:

---*--...--A

你需要在A的基础上进行一些工作:

---*--...--A--B--C

如果您尝试推送,会出现错误,如果在此处执行git pull --rebase,则会出现以下情况:

---*--...--A--M--B'--C'
    \        /
     *---P--R

B'和C'是B和C的重新基准版本。现在,您可以将其推送到GitHub。

您可以使用git pull --rebase将您的更改应用于该拉取请求合并到主分支中的顶部。


谢谢。您的答案对解决我的问题非常有帮助。 - Binoj123
那么,为什么这个答案没有被标记为正确呢?@Binoj123,还是你不知道如何做? - Funk Forty Niner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接