使用 Bitbucket 如何将拉取请求合并到我的本地分支中,以便在合并到 master 之前对其进行测试
With Bitbucket how do I merge in a pull request into my local branch so I can test it before merging into master
我在 bitbucket 上有一个 opensrc 项目- https://bitbucket.org/ijabz/jaudiotagger/src/master/README.md
我有一些来自贡献者的拉取请求需要审核。
过去我只是检查代码,然后使用合并按钮将代码合并到 Bitbucket 上的远程 master 分支中。但是这些拉取请求太复杂了,我需要在我的计算机上与我本地的主分支合并,构建和测试它,然后只有在可以的情况下才将它合并到远程主分支。
但是我不知道该怎么做?
例如,提出拉取请求的人在一个分支 feature
中进行了更改。如果您可以 git fetch <your remote>
,那么分支 feature
将为您提供。现在,你应该运行 git checkout <your master branch>
,万一你不在,那么运行 git merge feature
。
完成后,您应该能够 运行 在本地进行测试,然后再将功能分支合并到您的远程主机中
您要合并的分支还不是您存储库的一部分;它仅在贡献者存储库中。您需要先创建一个新的遥控器。
git remote add mvmn ... # You'll need the contributor's fork's URL
git remote update mvmn
git checkout -b pr69 --track mvmn/generics_refactoring
git merge master
完成测试后,您可以删除 generics_refactoring
分支(当然是在签出另一个分支之后)
git branch -D pr69
我采取了另一种方法。我克隆了他们的存储库,然后在本地检查了一个远程分支
git clone https://ijabz@bitbucket.org/mvmn/jaudiotagger.git
git checkout origin/generics_refactoring
然后我可以测试他们的新代码,并在我的 IDE
中查看
然后,如果没问题,我可以批准 BitBucket 上的请求,这将处理任何合并冲突问题(尽管在这种情况下没有任何问题),我可以删除克隆的存储库,因为我不再需要它。
这似乎不是最优雅的解决方案,但至少我刚刚理解它。
我在 bitbucket 上有一个 opensrc 项目- https://bitbucket.org/ijabz/jaudiotagger/src/master/README.md
我有一些来自贡献者的拉取请求需要审核。
过去我只是检查代码,然后使用合并按钮将代码合并到 Bitbucket 上的远程 master 分支中。但是这些拉取请求太复杂了,我需要在我的计算机上与我本地的主分支合并,构建和测试它,然后只有在可以的情况下才将它合并到远程主分支。
但是我不知道该怎么做?
例如,提出拉取请求的人在一个分支 feature
中进行了更改。如果您可以 git fetch <your remote>
,那么分支 feature
将为您提供。现在,你应该运行 git checkout <your master branch>
,万一你不在,那么运行 git merge feature
。
完成后,您应该能够 运行 在本地进行测试,然后再将功能分支合并到您的远程主机中
您要合并的分支还不是您存储库的一部分;它仅在贡献者存储库中。您需要先创建一个新的遥控器。
git remote add mvmn ... # You'll need the contributor's fork's URL
git remote update mvmn
git checkout -b pr69 --track mvmn/generics_refactoring
git merge master
完成测试后,您可以删除 generics_refactoring
分支(当然是在签出另一个分支之后)
git branch -D pr69
我采取了另一种方法。我克隆了他们的存储库,然后在本地检查了一个远程分支
git clone https://ijabz@bitbucket.org/mvmn/jaudiotagger.git
git checkout origin/generics_refactoring
然后我可以测试他们的新代码,并在我的 IDE
中查看然后,如果没问题,我可以批准 BitBucket 上的请求,这将处理任何合并冲突问题(尽管在这种情况下没有任何问题),我可以删除克隆的存储库,因为我不再需要它。
这似乎不是最优雅的解决方案,但至少我刚刚理解它。