无法正确执行 git pull 请求

无法正确执行 git pull 请求

我是 GitHub 新手,因此我弄得一团糟,所以我需要一些循序渐进的帮助。抱歉打扰了 :/ 另外,在说任何话之前,我必须澄清一下,我只使用 GitHub,因为我遇到了一些 Git Bash 问题。

Antefact:我分叉了一个仓库,做了一些提交并发送了一个拉取请求。但是,它有一些冲突。我联系了程序员,他说他稍后会合并我的拉取请求。

现在,我必须进行一些其他提交,但与此同时,原始存储库已更新了 30 多个提交。我不知道如何进行新的更新分叉,所以我创建了一个新的存储库,手动将更新后的存储库上传到那里,然后进行提交。显然,现在我无法进行拉取请求,因为 git 无法识别要比较的内容。

现在,我所要求的只是能够执行该拉取请求。如果有人可以帮助我创建它,我还准备在新的分支上重新提交我的提交。如果需要,我当然也可以使用 Git Bash,但我真的需要一些循序渐进的帮助,因为我在网上读到了一些内容,但我启动的每个命令都不符合我所读到的内容。显然,我无法删除我的第一个存储库,因为合并尚未完成。

答案1

目前看来,最好的选择是将文件从新存储库移动到分叉的存储库,然后再次发出拉取请求(用更新的文件覆盖所有文件),尽管这总体来说是一种非常糟糕的做法。

在执行此操作之前,您应该考虑提取更改或确保您的本地存储库与原始分叉存储库保持同步。

这些可能对未来有用 https://services.github.com/kit/downloads/github-git-cheat-sheet.pdf https://www.git-tower.com/learn/cheat-sheets/git

答案2

答案已经发布,但为了防止此类事情再次发生:

GitHub 只是众多 Git-Host 中的一个,其工作方式与其他 Git-Host 一样(GitLab、Gogs 等)。

顺便说一下,我建议学习 Git(而不是“学习 GitHub”)。Git 是一个非常好的 SCM,但它并不简单。我个人总是喜欢推荐“像 Git 一样思考”,在我看来是最好的入门书。

如果你克隆一个 repo,你实际上会做很多事情:

  • 初始化新的本地 git repo
  • 添加您克隆的远程(URL)
  • 获取其数据(提交)
  • 签出一个分支(通常称为 master,但这只是惯例),该分支具有与远程对应分支相同的提交历史

如果您分叉了一个存储库,GitHub 所做的一切就是将分叉的远程复制到您帐户下的新命名空间。您现在可以克隆您有写入权限的存储库。

现在您要进行拉取请求。GitHub 上的拉取请求(这是 GitHub 特有的功能,尽管其他服务器经常实现类似的功能)的工作方式是您指定源远程/分支组合和目标远程/分支。

因此,在您的仓库中创建一个新分支被认为是一种好的做法,该分支来自您稍后想要合并的实际分支,并将其专用于仅用于拉取请求的提交。我经常使用像“PRQ_myfeature”这样的命名方案。

使用此方法,您仍然可以让您的主分支“跟踪”原始远程的主分支。为此,请使用“$ git remote add some_fancy_name URL”。您现在可以获取并将原始主分支拉入您的主分支以跟踪更改。

这还使您能够定期重新设置拉取请求分支并检查是否存在冲突。

这意味着作者可以毫无问题地合并你的拉取请求,这使得他们这样做的可能性极大增加 ;)

相关内容