当我在GitHub上发起一个拉取请求时,从我的上一个请求以来的所有提交和所有新提交都会自动添加到此请求中。
我似乎无法控制哪些提交被添加,哪些不被添加。
当我尝试打开另一个拉取请求时,会出现“糟糕!已经有一个拉取请求”的错误。
是否有一种简单的方法可以打开多个拉取请求而不必在命令行中搞砸?
当我在GitHub上发起一个拉取请求时,从我的上一个请求以来的所有提交和所有新提交都会自动添加到此请求中。
我似乎无法控制哪些提交被添加,哪些不被添加。
当我尝试打开另一个拉取请求时,会出现“糟糕!已经有一个拉取请求”的错误。
是否有一种简单的方法可以打开多个拉取请求而不必在命令行中搞砸?
拉取请求(Pull requests)是基于一个分支而产生的。
打开一个包含多个提交记录的拉取请求的唯一方法是:
您可以创建Pull Request(PR),通过为工作创建单独的分支。
例如:
您从主分支(master)检出到一个名为work-1的分支。
您在work-1分支中进行一些提交,如work-1-commit-1和work-1-commit-2
现在,您可以从work-1创建一个PR到master。 通过查看PR中的更改文件来审查您的代码。
接下来,您将从work-1分支检出到新的work-2分支以继续工作。
您在work-2分支上进行一些提交,如work-2-commit-1和work-2-commit-2
现在,您可以从work-2创建一个PR到work-1。 通过查看PR中的更改文件来审查您的代码。
在这里,文件更改只会包括work-1-commit-2之后的新代码。
我发现最简单的方法是使用 hub 命令(https://github.com/defunkt/hub)。
从你想要为之创建拉取请求的主题分支(在本例中为“feature”),你可以运行以下命令:
git pull-request
(记得先推送你的分支!)
它将在 GitHub 上为“YOUR_USER:feature”打开一个新的拉取请求。
如果您已经在 GitHub 上创建了问题,甚至可以将拉取请求附加到该现有问题上(这是您无法从 Web UI 完成的操作):
$ git pull-request -i 123
[ attached pull request to issue #123 ]
git branch mini_change_2
git checkout mini_change_2