我的问题
我做这样的事情:
git clone
git checkout -b new_feature
< work and commit >
git rebase master
< work and commit >
< finish working >
git rebase master
git push origin new_feature
< I create pull request via bitbucket's web interface >
审查更改的人正在做:
git pull
git checkout master
git merge --squash new_feature
git push origin master
我希望这会关闭拉取请求,但它没有,我错过了什么?
一些背景资料
我阅读了很多 bitbucket 的文档“处理拉取请求”,但这对我来说仍然不清楚。
我可以看到new_feature
分支中的所有提交都已应用于master
分支(通过git merge --squash
),并且我可以看到哪些文件已更改,但是现在当我在 bitbucket 的拉取请求界面上按“合并”时,我在 master 中有另一个提交,即合并并且这不会更改任何文件(所有更改都已由 previous 应用git merge --squash
),而只是将所有这些提交历史记录带入 master,这不是我想要的。
通过:https ://confluence.atlassian.com/display/BITBUCKET/Working+with+pull+requests
手动将请求拉取到本地系统
有时,在接受拉取请求之前使用在本地系统上测试变更集的工作流是个好主意。您可以使用任何拉取请求来执行此操作。典型的工作流程是这样的:在 Bitbucket 中接收拉取请求。使用传入的变更集更新您的本地存储库。调查和/或测试变更集。如果您的更改集很好,则将其合并到本地存储库中。您可能需要解决一些冲突。然后,将本地存储库推送回 Bitbucket。回到 Bitbucket,拉取请求在拉取请求选项卡中被标记为已接受。如果您不喜欢更改请求,您可以在本地丢弃更改并拒绝 Bitbucket 上的拉取请求。想法?