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 Client 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 Client:
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 Client will then pass these values onto your remote service when the pull request is created.
Note – When creating pull request, GitKraken Client 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 Client.
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.
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 Client, 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 Client.
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.
You can also quote other comments in your reply from the elipsies menu
Branch checkout, build status, and adding remote
If you double-click the branch name in the bottom right of the PR view, GitKraken Client will automatically check out the branch and open the graph.
If you click on the build status, GitKraken Client will take you to the build URL in your default web browser.
Additionally if you have not added the remote, GitKraken Client 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 Client.
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 Client to get the latest updates.
Working with active pull requests
GitKraken Client 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 Client 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.