A pull request (sometimes called merge requests), is a review request. You are asking someone to check the changes on a branch before merging into another branch.
Creating a pull request
If connected to a remote on GitHub, GitLab, Bitbucket, or Visual Studio Team Services, create pull requests by dragging and dropping one branch to another and selecting Start a pull request.
Alternatively, try right-clicking the target branch and selecting Start a pull request.
Or click the in the pull requests section on the left panel, and select the repo and branch to create the pull request.
Pull request templates
GitKraken supports pull request templates from your GitHub, GitLab, and Azure DevOps (including legacy VSTS URLs).
Once your pull request templates are commited to your remote, the template field will appear when you create a pull request in GitKraken:
If this is your first time working with pull request templates, consider reviewing the following instructions for GitHub, GitLab, or Azure DevOps pull request templates.
Assignee, Labels, and Reviewers
Some integrations will allow you to also add a pull request assignee and label(s) to your pull request. GitKraken will then pass these values onto your remote service when the pull request is created.
Note - When creating pull request, GitKraken will now detect whether your source branch has conflicts with the target branch in the pull request modal.
Depending on the integration, you may also add reviewers and multiple assignees to a pull request.
Note: Because pull requests occur in the remote, first push your branch before creating the request.
Draft Pull Requests
If connected to the GitHub Integration, you may create a draft pull request by checking this box when creating a pull request in GitKraken.
As the name implies, this will create a "draft" pull request in GitHub. However please note that not all GitHub free or paid plans support the draft feature. Please check your GitHub plan if you do not see this option.
GitKraken Boards Cards
Associate your GitKraken Boards issues with pull requests by simply searching for the card name in the GitKraken Boards card section when creating a pull request.
Cards across all of your GitKraken Boards will be searched. Associate as many cards as you'd like to a pull request!
GitKraken passes the card information onto your remote service when the pull request is created. The pull request description will include a link to said card details.
On your GitKraken Board, information of the pull request will automatically populate under Pull Request in the cards' detail panel.
After setting up GitHub pull request integration in your GitKraken Board, you can trigger an automatic change to progress your card to a new column the moment your PR status changes. Goodbye, context-switching!
GitHub pull request view
GitHub.com users may utilize the pull request view for GitHub pull requests.
To enable this feature, first set up the GitHub integration. Then with a GitHub repo open inside of GitKraken, select a pull request in the left panel to bring up the pull request view.
From this view, GitHub users may edit the pull request:
From the upper right of the Pull Request view, you may click the button to review the affected files for this pull request. Note, code review and code comment are not currently available from within GitKraken.
Comment on GitHub pull requests
Users may comment on a pull request -- which is great for submitting reviews, approving pull requests, or requesting changes. You may also use the refresh icon in the top right to quickly refresh the comments feed.
Branch checkout, build status, and adding remote
If you double-click the branch name in the bottom right of the PR view, GitKraken will automatically check out the branch and open the graph.
If you click on the build status, GitKraken will take you to the build URL in your default web browser.
Additionally if you have not added the remote, GitKraken will ask if you wish to add the remote to the app (which should help you review changes locally).
Merging within pull request view
GitHub users may also merge a pull request by clicking the button from within GitKraken.
By default, the merge will default to the Create a merge commit setting, however you may also choose between Squash and merge and the Rebase and merge,
Not seeing something update in the pull request view? Try refreshing GitKraken to get the latest updates.
Working with active pull requests
GitKraken displays active pull requests in your graph with this icon. Pull requests also appear in the left panel PULL REQUESTS section.
Sections in PULL REQUESTS each denote a filtered view of pull requests on this repository. GitKraken will start with several pull request filters for you, note the filters such as My pull requests and All pull requests. You can modify, delete, or create your own pull request filters.
Quickly search for pull requests using the Search pull requests box.
If using the integration with GitHub, GitLab, Azure DevOps, or Bitbucket, you may hover over the pull request in the left panel to get a quick view of when the pull request was opened and for which branches.
For the GitLab integration, this tooltip will also show any assignee or labels associated with the pull request.
And for GitHub, this tooltip will show assignees, labels, reviewers, and build status.
Pull requests will be marked with one of the following icons:
- = Continuous Integration checks passed and review(s) have been approved.
- = Continuous Integration checks passed or are pending and review(s) have been approved or are pending. (excludes above case where CI has passed and reviews are approved)
- = All other cases, for example Continuous Integration checks failing or review(s) are needed.
Users may also hover the mouse over each icon to gain quick information about the status.
If the branch changes look good after review, you or a reviewer may merge the branch. However if there are outstanding questions or comments, users can leave a comment on the pull request.
If other changes are required, make the change to your code, and then commit and push to your existing branch. Updating your branch updates the pull request too.