我对Git存储库中的两个文件进行了多处更改(具体来说,添加了两个brew公式).
我个别提交了更改:
git commit file1
git commit file2
Run Code Online (Sandbox Code Playgroud)
然后我向GitHub推了一下:
git push git@github.com:myname/homebrew.git
Run Code Online (Sandbox Code Playgroud)
我现在想向上游存储库发送两个pull请求,一个用于file1,一个用于file2.这可能吗?
我做那样的事情:
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 >
Run Code Online (Sandbox Code Playgroud)
审核更改的人正在执行以下操作:
git pull
git checkout master
git merge --squash new_feature
git push origin master
Run Code Online (Sandbox Code Playgroud)
我希望这会接受拉动请求,但是没有,我错过了什么?
我阅读了很多bitbucket的文档"使用pull请求",但这对我来说仍然不太清楚.
我可以看到所有来自new_feature分支的提交都已应用于master分支(通过git merge --squash),我可以看到哪些文件已经更改,但是现在当我在bitbucket的pull-request接口上按"merge"时,我在master中有另一个提交,即合并并且这不会更改任何文件(所有更改都已由之前应用git merge --squash)但只是将所有这些提交历史记录放入主文件中,这不是我想要的.
通过:https://confluence.atlassian.com/display/BITBUCKET/Working+with+pull+requests
手动将请求提取到本地系统
有时,在接受拉取请求之前,最好使用工作流来测试本地系统上的变更集.您可以使用任何拉取请求执行此操作.典型的工作流程是:在Bitbucket中接收拉取请求.使用传入的变更集更新本地存储库.调查和/或测试更改集.如果更改集合良好,则将其合并到本地存储库中.您可能必须解决一些冲突.然后,将本地存储库推回Bitbucket.回到Bitbucket,Pull请求在Pull requests选项卡中被标记为已接受.如果您不喜欢更改请求,则在本地放弃更改并拒绝Bitbucket上的pull请求.想法?
我们经常使用pull request上的Files Changed选项卡来查看我们在分支上完成的工作,遗憾的是我们开发过程的主要部分是重新生成Flex服务,因此在查看文件时,99%的更改都无关紧要.这使得很容易错过应该审核的重要更改.
我们知道这些重新生成的服务所在的文件夹,如果有帮助,我们可以在一次提交中提交所有重新更改.
有没有人有任何建议我们如何改进这个?理想情况下,我们会从pull request diff中排除一个文件夹.
我已将 Github 操作设置为在创建草稿拉取请求时跳过,但当拉取请求准备好供审核时不会触发它。当我起草 PR 从草稿更改为准备审查时,有什么方法可以运行该操作吗?
pull_request:
types: ['opened', 'edited', 'reopened', 'synchronize', 'ready_for_review']
jobs:
build:
if: github.event.pull_request.draft == 'false'
runs-on: ubuntu-latest
Run Code Online (Sandbox Code Playgroud) 我希望默认情况下将pull请求合并到功能分支中.
我主张使用git流,所以当为一个功能提交一个pull请求时,pull请求需要合并到develop中,而不是master.
一些管理人员评论说,作为人,团队领导可能会忽略这一事实并将错误的拉取请求合并到主人,导致后期发布问题.
我们希望降低合并地狱的风险,因此这将大大有助于实现这一目标.
编辑:我正在使用名为hubflow的gitflow分支(http://datasift.github.com/gitflow/).默认情况下,创建 git hf feature start [tik-123] 要素分支时,会根据规范创建要素分支,但也会将其推送到原点.我们想要这个用于合作.功能完成后,开发人员将转到github中的功能分支并发出拉取请求.然后,如果要在sprint中发布该功能,团队负责人将检查pull请求并将该功能合并到dev中.
我非常喜欢用于分布式软件开发协作的github pull-request方法.它允许讨论和代码审查.
我的目标是使用相同的流程但在我们的存储库中没有github.我不想分叉项目.
让我们想象一下,我在本地开发了一个很棒的功能.我想在我的主分支上发出拉取请求以强制进行代码审查.
A---B---C feature/awesomeFeature
/
D---E---F---G origin/master
master
Run Code Online (Sandbox Code Playgroud)
是否有可能在origin/master上发出拉取请求?
我试过git request-pull feature/awesomeFeature origin没有任何成功
通常,我的同事会对一个公开拉取请求进行一些更改,将他们的本地分支重新绑定到基本分支 - 通常也将他们的更改压缩到以前的提交中 - 并强制推送.
如何看待旧版PR与新版PR之间的变化?
我想我可以做一个git pull和git checkout $BRANCH_NAME当PR首次提出,然后git fetch再git diff $BRANCH_NAME..origin/$BRANCH_NAME对PR进行了更新后-但也将显示已通过重订引入基地分支(通常硕士),并带入PR的变化.是否有可能消除噪音并只显示PR本身的变化?
我正在使用代码所有者文件来要求 PR 批准才能合并。我想做的是:
代码所有者文件似乎执行分层操作,其中只有一个组拥有代码,您可以为某些目录创建规则,但这些规则只会覆盖默认代码所有者。
我当前的.github/CODEOWNERS文件如下所示:
* @my-org/engineer-code-owners
Run Code Online (Sandbox Code Playgroud)
有没有办法至少需要两个不同团体的批准?
根据文档,我必须在文件夹PULL_REQUEST_TEMPLATE中创建一个文件夹.github。
然后将 mypull_request_first_template和添加pull_request_second_template.md到文件夹中PULL_REQUEST_TEMPLATE。
当我尝试打开一个新的 PR 时,没有显示任何模板,更不用说在它们之间进行切换了。
似乎模板根本不显示。有解决办法吗?
我有一个在TeamCity中设置的CI构建,它将在BitBucket(git)中发出拉取请求时触发.它目前针对pull请求的源分支构建,但如果它可以构建合并的pull请求则更有意义.
我的研究给我留下了以下可能的解决方案:
有没有人在TeamCity之前做过这个或者有关于如何实现它的建议?
更新:(根据John Hoerr回答)
替代解决方案 - 忘记TeamCity进行合并,使用BitBucket Web钩子创建像github这样的合并分支,并遵循John Hoerr的回答.
teamcity merge continuous-integration bitbucket pull-request