Is your organization going through a DevOps transformation? Perhaps you’ve even been tasked to head up the project. And surely, part of this transformation is going to include source control management.
More and more enterprise companies are using Git to manage their code and file changes. One of the most popular Git hosting services for large teams, particularly those partial to Microsoft’s robust suite of developer tools, is Azure DevOps.
But adopting Git, and then successfully scaling it within your organization to reach your DevOps transformation goals, might seem like an insurmountable task. Don’t sweat it. We’ve got your playbook for transitioning to Git, successfully utilizing Azure DevOps as your Git hosting service, and how the GitKraken Git Client can help solve related challenges commonly faced by developers and teams.
See how Azure DevOps and GitKraken fit into the DevOps lifecycle in the 2020 DevOps Tools Report.
Already on Git? You can jump down to learn more about using GitKraken with Azure DevOps.
Migrating to Git
Whether you’re currently working with SVN, Perforce, or TFS, migrating to Git will require additional overhead. Learn how to migrate your version control from Perforce to Git.
Such a transition will require organization, preparation, and some patience. 😅But having a powerful Git GUI like GitKraken on your side will not only make the code migration and data transfer faster, it will enable your team to get up and running on Git immediately after you’ve completed the overhaul. Learn how to migrate your version control from SVN to Git.
And trust us; it’s going to be well worth it.
Onboarding Team Members to Git
Just like anything new, your team will need time to adjust to learning Git. But lucky for you, there are numerous resources available to help onboard your developers and get them up and running with more productive workflows quickly.
Visit our Learn Git database to access Git tutorials and educational resources for all experience levels.
Lucky for managers and product owners, it’s extremely likely you already have a Git champion on your side within your company. Employ them to help their colleagues see the benefits of transitioning to Git.
While learning Git commands can be beneficial for a developer’s foundational knowledge, their time is ultimately much better spent programming rather than taking the mental energy to memorize commands. This is where GitKraken’s GUI approach comes in to save the day.
Similar to how operating systems have become more visually-appealing and intuitive by offering user interfaces for managing applications, dragging-and-dropping files, and clicking on icons to perform actions, developers using the GitKraken Git GUI will enhance their productivity, reduce errors, and become more confident in their daily workflows.
Adopting New Workflows with Git
Git will open up a whole new world for your development team and processes. If you feel like hopping on a flying carpet, we won’t blame you.
One of the best new workflow opportunities involves cloning repositories. When working with Azure DevOps, users have two options for cloning a Git repo. You can choose to utilize the git clone
command through the CLI, or make it even easier on yourself and use a Git Client like GitKraken.
Cloning Your Git Repo with Azure DevOps
The best part of Git is arguably how easy it makes it for team collaboration. Git’s distributed nature provides options not available in other version control systems, particularly the ability to clone a repository.
This makes it possible for individual developers to copy an entire working project to their local machine and work in parallel with team members. No need to ask permission or wait turns to check out files or push changes. Furthermore, cloned repos provide developers a sandbox to experiment in without affecting the original codebase.
It’s common practice in Git to designate the main project—meaning the copy of the project that will ultimately become final—on a Git hosting service, such as Azure DevOps. Hosting repositories on Azure DevOps makes the project more accessible to collaborators with appropriate permissions.
Authenticating Your Git Repo with Azure DevOps
Before you can open or clone an Azure DevOps Git repository in GitKraken, you will need to first set up the integration. You can get started by navigating to a New Tab and clicking the on Azure DevOps button under Start a hosted repo.
GitKraken will then ask you for the host domain of your Azure DevOps repo. Simply copy-and-paste the domain into the required field.
See the process of integrating Azure DevOps & GitKraken in our step-by-step tutorial:
Generating Your Azure DevOps Git Credentials
When using Git, you will sometimes be prompted to enter user credentials to perform operations. This could entail a username and password for accessing a remote repo over HTTPS, SSH key, or via a personal access token (PAT).
After you have entered your Azure DevOps domain into the requested field in GitKraken, our Git Client will give you a shortcut to generate your personal access token directly on Azure Devops.
Once the connection to Azure DevOps has been made, you will be provided with an additional option to generate an SSH key, which you can copy to your clipboard and paste into your Azure DevOps account. Once you have added the new key into Azure DevOps, it will be immediately reflected in GitKraken.
The ability to generate this Git credential in GitKraken prevents users from having to manually create an SSH key pair.
Cloning Your Azure DevOps Repo with GitKraken
Once you’ve successfully integrated GitKraken with Azure DevOps, you can start cloning local copies of your remote repo!
Cloning establishes a connection between the remote repository hosted on Azure DevOps and your local machine, allowing push and pull actions between the two repos. Multiple clones can be made to the same remote, giving your team the ability to collaborate without risking the integrity of the original code.
Not only can you clone Azure DevOps remotes through GitKraken, the integration allows you to add new remote repositories. Simply click the + button on the Remote section in the left panel and select from the populated list of available remotes from your host.
Learn more about adding remotes through GitKraken’s Azure DevOps integration:
Branching in Git & GitKraken with Azure DevOps
Git and GitKraken open up a plethora of new workflow possibilities with our branching features. Developers are empowered to explore the options between branches of their repository’s history, providing them more flexibility and freedom without losing important processes.
Let’s say, for example, that you want to take a new change from your remote repository in Azure DevOps and pull it down to your local repo in GitKraken. You will start by performing a fetch to detect the change, and then you will perform a pull to bring the changes down to your local repo.
Alternatively, let’s say you want to take new changes you have made on your local repository and apply them to the remote. This involves performing a push.
Once your local branch has the changes you want to push to your remote, simply click the Push button in the top toolbar. GitKraken will then alert you that the branch doesn’t exist on the remote and will confirm that you wish to add it.
Pull Requests with Azure DevOps
We just went over how to perform a push from GitKraken to Azure DevOps. It is at this point in your workflow when pull requests come into play.
Pull requests are an integral part of Git; they help you harness the intended benefits of using version control in general. If you’re working with Git, chances are you will encounter the following situation: you make local changes to a cloned repository and then you submit those changes to the project maintainer for review before they get implemented, or merged.
Essentially, a pull request is much like it sounds: you’re requesting that someone review and approve your changes before they become final.
Learn more about pull requests in Git in this intermediate tutorial.
GitKraken provides you with multiple options for initiating a pull request. You may simply click the + button from the Pull Request section in the left panel, or you can drag-and-drop the branch with the changes you want to push onto the branch you wish to push to from the central commit graph. If you choose the latter option, GitKraken will pre-fill your pull request template.
GitKraken also gives you a convenient shortcut to view the pull request directly on Azure DevOps where you can continue the code review process.
If everything looks good, the code reviewer will perform the merge! Changes can either be merged from Azure DevOps or GitKraken; the integration will ensure that the pull request is updated in both applications.
Maintaining Security Standards
A common concern for any technical team transferring or hosting data is security. We previously discussed how GitKraken can help Azure DevOps users generate their Git credentials, including SSH keys (generating PATs is the responsibility of the hosting service). These will play an integral part in maintaining the security of your team’s code.
Working with Proxy Servers
When working with Azure DevOps and Git, some users experience issues dealing with proxy servers. Depending on how your team’s configuration is set-up, the Azure DevOps integration may not work with some proxy setups. However, most setups will work fine directly over HTTPS and SSH, meaning your team will still have access and be able to work with your repositories for all traditional Git commands.
Fatal Authentication Issues with Azure DevOps
Some Azure DevOps users can experience issues when first setting up the integration between GitKraken and Azure DevOps.
If, after you complete the integration and get stuck in an authorization loop when trying to perform a push, you may see the following message: Your OAuth token for “Azure DevOps” is invalid
. This could mean that you are experiencing an issue with your auth token. In this case, we suggest taking the following steps:
- Try manually disconnecting the integration. Go to Preferences →Authentication→Azure DevOps and click Disconnect.
- Log out of your Azure DevOps account directly in your default web browser.
- Attempt to connect the Azure DevOps integration again. This will force you to login and should update the OAuth token.
If the aforementioned suggestion does not solve the issue, we suggest you delete your .gitkraken
folder in your file system on your local machine. This will remove all of your authentication settings, profiles, and applications, enabling you to start fresh. To accomplish this, we suggest taking the following steps:
- Close your GitKraken application.
- Find your
.gitkraken
file and delete it. Alternatively, you can move it to another location to back it up instead. Your file should be located:- Windows:
c:\users\{USER}\appdata\roaming\.gitkraken
- Mac:
/Users/{user}/.gitkraken or ~/.gitkraken
- Linux:
~/.gitkraken
- Windows:
- Re-open GitKraken.
- Setup the Azure DevOps integration using a new personal access token and try again.
If you are still receiving this error after completing the above steps, we suggest that you reach out to the GitKraken support team at [email protected]. Please note: only GitKraken Enterprise and Pro customers receive guaranteed email support within 24 hours.
Scale with Azure DevOps & GitKraken
You are now well-equipped to start implementing Git at your organization using Azure DevOps and GitKraken. And if you run into any issues, the best cross-platform Git GUI is here to help.
GitKraken & Azure DevOps Resources: