当你在Github上push代码后,如果在远程仓库中没有看到pull request请求,那么有以下几种可能的原因:
未创建pull request
如果在本地使用git push命令将修改推送到Github上,但还没有在Github上创建pull request请求,则不会在Github上看到对应的pull request请求。此时,需要在Github上手动创建一个pull request请求,将你所做的更改合并到目标分支。
目标分支已经更新
当你向Github上提交一个pull request请求时,若目标分支已被其他人员push了新的更改,那么pull request请求不再可以自动合并,而是需要进行手工处理才能与主干合并,这个常常被称作合并冲突(merge conflict),这种情况下你需要解决冲突、重新推送原始的分支或者在Github上更新分支后再次提出请求。
权限问题
如果你没有权限向远程仓库发起pull request请求,则不会显示该请求。务必确保你已经被授权执行相应的任务操作,包括向指定的分支发送pull request请求以及管理设置相关操作权限。
需要注意pull request是用于协作式Git分支处理流程中的功能,它只在Pull Request base(基础分支)和 Pull Request head(变更分支)之间存在差异的时候才会发生。
因此大部分git push后github没看到pull requests的问题都是没有创建pull request,下面给出解决办法:
要创建一个pull request,需要进行以下步骤:
在你的项目仓库中,从目标分支checkout(检出)到新的分支。
$ git checkout -b new-branch-name target-branch-name
这里的target-branch-name表示你要将代码合并到的目标分支,而new-branch-name则是你所创建的新分支名称。
编写代码、完成修改,并提交(commit)更改:
$ git add <modified-file>
$ git commit -m "description of your changes"
将本地分支推送(push)到Github上:
$ git push origin new-branch-name
这里的origin代表远程Github主机,在Github上会自动创建与本地分支同名的分支。如果分支已经存在,则使用git push --force可以强制覆盖原有分支。
(注意:请确保你在按照上述步骤之前已经完成了fork操作。如果没有,请在Github对该项目进行fork,然后再进行下面的步骤。)
进入被fork的Github仓库,并点击"New pull request"按钮;
或者,根据你选择的分支进行compare & pull request:
在弹出的pull request页面中,选择base(目标分支)和compare(变更分支),(两个分支有差异的话会出现添加的按钮,目前的改动被合入了,后面有了再添图),并添加pull request名称和主体说明等。
此外,可以在该页面上查看相关差异以检查更改是否符合要求。如果需要对多个提交进行rebase操作以次序(稳定有序)处理 建议使用Git CLI并结合相关流程手动完成。
最后,点击“Create pull request”按钮提交你的请求。Github会自动将你的更改与目标分支进行比较,并显示更改的详细信息或冲突内容。
完成这些步骤后,你的pull request就已经被创建了。在接下来的一段时间内,其他成员可以对你所提交的变更进行审查、修改或讨论,直到代码质量和合规性得到准确评估并通过审核。