Subscribe

UiPath Studio

The UiPath Studio Guide

Managing Projects with GIT

GIT integration in Studio requires the Microsoft Visual C++ 2015 Redistributable Update 3. Check the Software Requirements page.

Authenticating to GIT

Authentication methods in Studio differ in accordance with the methods used for cloning a GIT repository, either HTTPS or SSH. Check this page to see which you should use if you're working with GitHub.

📘

Notes:

  • The GIT credentials you provide in Studio are stored in the Windows Credential Manager.
  • The GIT integration with Studio currently supports two-factor authentication only for GitHub if you authenticate by signing in to the service. For other tools, use the SSO authentication method with a personal token, or the basic access authentication method.

The current guide details the steps for authenticating to a GitHub repository, but the Git integration in Studio is not limited to just this service.

Over HTTPS

When cloning a remote GIT repository or copying the current project to an existing GIT repository using HTTPS for the first time, you must provide your GIT credentials. These credentials must be entered in the Use Credentials fields:

You can authenticate using the following options:

  • Sign in with GitHub - Sign in with your GitHub account.
  • User/Password - Enter your user and password.
  • Token - Enter your user and personal access token.
    Follow the steps detailed in this page to generate a GIT token for your GitHub repository.

🚧

Important:

The Sign in with GitHub option is available only for repositories hosted on github.com and requires the UiPath GitHub App to be installed in your organization or account.

Over SSH

When cloning a repository or copying the current project to an existing GIT repository using SSH for the first time, you have the option of using a private key:

Add the Private Key Path and the Password, and then click Open to clone your remote GIT repository. Check out the steps detailed here to generate a SSH key for your GitHub repository.

Authentication Failed

Over HTTPS

When cloning a GIT repository, the Enter Credentials window is displayed with the message Authentication failed if the provided credentials were incorrect:

Enter the correct credentials and try again. You can also use Git Bash, for example, to clone your repository remotely and thus, check if the username and password are correct.

In the following image, we tried to clone a repository over HTTPS, but entered an incorrect password. The Git Bash window shows that the credentials were incorrect.

Over SSH

The following Enter Credentials window is displayed when authentication fails over SSH:

Enter the correct Private Key Path and Password and try again. You can also use Git Bash, for example, to clone your repository remotely and thus, check if the token and/or password are correct.

In the following image, we tried to clone a repository over SSH, but we didn't have any public SSH keys set up on our account.

Cloning a Remote GIT Repository

  1. In the Team tab, select Clone Repository. The Clone a remote GIT repository. window is displayed.
  2. Select either Use HTTPS or Use SSH.
  3. Type in the Repository URL, and choose an empty Check out directory.
  4. Select Use Credentials / Use Key and configure authentication (either sign in with GitHub, enter user and password, enter user and token for HTTPS, or enter private key path and password for SSH).
  5. Click Open, Studio opens the project in the Designer panel.
  6. In the Open window, select a project.json file to open in Studio.

After cloning a GIT repository to a local working directory, the .git subdirectory is created containing the necessary GIT metadata. The metadata includes subdirectories for objects, refs, and template files. In addition, a HEAD file is also created, which points to the currently checked out commit.

Adding a Project to GIT

The GIT Init feature adds the current project to a local GIT repository. Access the command from the Team tab, or the status bar.

  1. Create or open a project in Studio. Click the Start tab > Team. The Team tab is displayed.
  2. Click the GIT Init button, and then select a path where the repository should be initialized. The location may be the same as the project or the parent folder. The Commit changes window opens.
  1. The Modified Files section shows the project’s files that are to be added to the Git repo. Clear the box next to the ones that you don’t want to add or use Select All, Select None.
  2. Select the Show Unversioned Files box to add unversioned files to the list.
    Write a Commit Message. Click the Commit button to commit the changes to the local Git repository.

When a project is added to GIT, the context menu in the Project panel includes GIT-specific options. For more information, see Context Menu Options for GIT.

Committing and Pushing to GIT

  1. From the same Commit Changes window, click the Commit and Push button to commit the changes and push them to the remote repository. This Manage Remotes window is displayed. The window is also available from the status bar.
  1. In the Name section, add the name of the remote repository.
  2. In the URL section, add the remote URL.

If you want to make modifications to the added repositories, simply click an entry, change the name and URL, then click the Update button. When you're done click Add, then Save. The following message box opens. This means that the local repository is not synchronized with the remote one.

  • Click the Overwrite remote content button to push the local versions of files to the remote repository and overwrite the files there.
  • Click the Pull (rebase) button to pull the remote files and rebase the current branch.
  • Click the Cancel button to discard the whole operation.

The number of unpushed changes, and newly added files are visible in the status bar. Click the changes_iconchanges_icon icon to open the Commit Changes window, or the push_commitpush_commit icon to push changes.

📘

Note:

If you edit a file from a project added to source control in an external editor, the change is visible in the Project panel and the status bar only after you click Refresh refreshrefresh in the Project panel.

Changing the Last Commit

Studio integration with Git also comes with an Amend Commit option for changing the last performed commit, before the push was performed.

  1. Right-click a modified file in the Project panel and select Commit. The Commit Changes window is displayed.
  1. Select the Amend Commit box. The last commit message is displayed, together with the files that were committed. To view changes between the current file and the last commit, use the Show Changes option.
  2. Change the commit message and select the files that you would like to include. Click the Commit and Push or Commit button.

Undoing Pending Changes

Studio comes with the option to undo changes that have been made to versioned files, before you commit and push them to the remote repository.

After making changes to a file in the local repository, click Undo in the GIT context menu to open the Undo Pending Changes window.

Select the checkbox next to the files and click Undo. The files are now reverted to the state before the changes were made.

📘

Note:

The Undo does not cover unversioned files. If you create new files and then select Undo, the files are not removed from the project. Once added to the project tree, new files remain there unless they are manually deleted.

Copying a Project to GIT

The Copy to GIT button in Studio Backstage view and status bar allows you to copy the current project to an existing GIT repository.

To do so first open or create a project in Studio. In the Team tab, select Copy to GIT and pick an existing GIT repository folder on your machine. The project is added to the local GIT repository and the Copy to GIT message box opens.

  • Select Yes to open the project from the new location. The Commit Changes window opens. Write a Commit message and click Commit and Push or just Commit.
  • Select No to return to the Studio user-interface.

Creating and Managing Branches

Add and manage branches from the Manage Branches window. To access it, either right-click the project node or a file in the Project panel and select Manage Branches, or use the merge_buttonmerge_button branch menu in the status bar.

  • To add a branch:
    1. Select a branch in the table, and then click Plus add_buttonadd_button at the top of the window.
    2. Enter a name for the branch, click Create branch from branch_name, and then click Save.
      The branch is added to the list.
  • To refresh the list of branches, click Refresh refresh_buttonrefresh_button at the top of the window.
  • To delete a local branch, select it, and then click Delete delete_buttondelete_button at the top of the window.
  • To manage branches, right-click any branch and select one of the options from the menu:
    • The Checkout branch option switches to the selected branch.
    • The Rebase option rebases the current branch onto the selected branch.
    • The Merge option merges the selected branch into the current branch.
      To merge a branch into the master of a GIT remote repository, you need to have the master branch checked out in Studio and then merge the modified branch into master.
  • To switch between branches, open the merge_buttonmerge_button branch menu in the status bar, and then select the branch to switch to from the list of recently checked out branches.

Viewing the Commit History

To view the commit history for a project or for a specific file or folder in a project, right-click the project node, a file, or folder in the Project panel, and then select Show History. This opens the History window which displays a list of existing revisions for the selected file, folder, or project. For each commit, the commit hash, message, author, and date are displayed in a table on the upper part of the window. You can view more information about a selected commit in the Details and Changes tabs on the lower part of the window.

Comparing Two Versions of a File

To compare two versions of the same file:

  • If you opened the history for a file, right-click a commit in the History window, and then select Compare with Previous, Compare with Local, or Compare with Latest.
  • If you opened the history for a folder or project, select a commit in the History window, and then, in the Changes tab, double-click a file to compare it with its previous version.

Creating a Branch from a Previous Commit

To create a branch from a specific commit:

  1. Right-click a commit in the History window, and then select Create branch.
  2. In the Create branch window:
    • Enter a name for the new branch.
    • To also check out the new branch, make sure the Checkout after create option is selected.
  3. Click OK.

Solving Conflicts

GIT integration with Studio comes with a feature for solving conflicts that may occur when performing the Rebase or Push command, found in the Commit Changes window.

Whenever Studio detects a conflict between the local file and the one found in the remote repository, the Solve conflicts window is displayed.

The window is similar to File Diff, showing the differences between the Remote version of the file and the Local version.

The following table describes the options available in the Solve conflicts window.

Option

Description

Choose Left

Select the left file representing the file in the remote repository to push.

Choose Right

Select the right file representing the file in the local repository to push.

Save

Click Save after choosing the left or right file.

Cancel

Cancel the operation and exit the Solve conflicts window.

Previous

Navigates to the previous change in the compared files.

Next

Navigates to the next change in the compared files.

Collapse All

Collapses all nodes in the .xaml files.

Expand All

Expands all nodes in the .xaml files.

Disconnecting from GIT

The Disconnect option from Studio Backstage view > Team tab is available for versioned files in the following two cases:

  1. A process is initialized as a local GIT repository. Create a new process, use GIT Init to add it to a local GIT repository and then use Disconnect to remove the subversion tag.
  2. The subversion tag can be removed by clicking Disconnect for a GIT repository which includes parent and child projects.
  3. If you disconnect a child project, then the entire GIT repository that contains the opened project is disconnected from source control. A message box is displayed in Studio requiring your confirmation before the disconnect action is performed.

Changing the Signature

Changing the GIT commit signature can be done from the Team tab > Change Signature. Fill in your name and email address, and click OK.

Changing the Credentials

To update the credentials used to connect to a remote repository:

  1. From the merge_buttonmerge_button branch menu in the status bar, select Manage Remotes.
  2. In the Manage Remotes dialog, right-click a remote repository and select Change Credentials.
  3. Depending on how the repository was cloned (via HTTPS or SSH), either sign in to a GitHub account (for repositories hosted on github.com only), enter the username/password or the username/token, or point to a new private key and click OK.
    The credentials are updated in the Windows Credential Manager.

Using GIT with a Proxy Server

GIT integration in Studio supports accessing remote repositories if internet access is through a proxy server. This can be done in two ways: either configured at machine level in the Proxy Settings window or by making changes to git commands.

Proxy details configured in the Proxy Settings window are taken into account, without the need of entering them in the .gitconfig file.

To configure proxy details with git commands, add them to GIT configuration files in the following form:
[http "https://domain.com"] proxy = http://proxyUsername:[email protected]:port

GIT configuration files can be found at the following locations:

  • config file: %ProgramData%\Git
  • .gitconfig file: %UserProfile%
  • local config file from project level, for example %UserProfile%\Desktop\testproject\.git.

Updated 2 months ago

Managing Projects with GIT


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.