Categories


Popular topics

This feature is available in UEStudio only.

Git is a very popular distributed version control system. UEStudio offers robust Git integration so that you can directly interact with Git repositories from within the application. You can learn more about Git and read over its full documentation at the official Git website.

In order to use Git with UEStudio, you need to have a Git client installed. Git for Windows is recommended.

If you already have Git for Windows installed on your system, then on first run UEStudio will detect this and prompt you to import your Git credentials. Otherwise, you can configure Git in UEStudio's settings under Integrated applications » Version control systems » Git.

UEStudio Git autodetection.png

Using Git

right Once Git is properly configured on your system, you can then begin interacting with repositories and objects through four different methods:

  1. Via the Git context menu for Git repositories in the "Explorer" or "Project" tab of the Workspace Manager.
  2. Through the Git commands in the "Version control" group of the Project tab.
  3. Through the Git Branch manager.
  4. Through the Git shell.

In both cases (if Git integration is configured in UEStudio properly) UEStudio will display the repo folder with a special Git icon overlay. If in a project, UEStudio will display the current branch and commits ahead / behind directly beneath the folder name.

Additionally, a special "Git" sub-menu is available in the context menu for files / folders under Git in the "Explorer" and "Project" tabs. This sub-menu contains many commands for interacting with the Git repository.

Creating and cloning repositories

  • To create a new Git repository, right-click on the folder where you want to initialize the repository, and select Git » Create/initialize repository here. The hidden ".git" subfolder will be created, and you can begin adding, staging, and committing files.
  • To clone an existing Git repository, right-click on the folder where you want to clone the repository and select Git » Clone repository... This will open the "Clone repository" dialog where you can enter the full path or the URL (SSH or HTTP[S]) to the repository. This dialog also contains the following options:
    • Branch
      This option allows you to specify which branch to switch to when cloning a repository. If left empty, or if a branch is provided that doesn't exist, this will default to the HEAD branch.
    • Depth
      This option allows you to create a shallow clone where the repository history is truncated to the specified number of revisions. For example, if you enter "2" here, the history for only the last 2 revisions will be available in your locally checked out repository.
    • No checkout
      This option will clone the repository without checking out a branch, essentially creating a disconnected Git branch.
    • Recursive
      This option will clone the repository along with any sub-modules contained within it.

Using the Git sub-menu in the Explorer / Project panes

The "Git" sub-menu in the context menu of the "Explorer" and "Project" pane of the Workspace Manager includes the following options.

For top-level repository folders:

Branch manager Opens the Git branch manager window.
Status Updates status of Git repository, shown in Git shell window.
Show log Outputs history log for entire repository to Git shell window.
Add all new files Adds all new files in the folder to the Git repository.
Commit Commits all staged changes to the Git repository.
Resume merge Attempts to resume merge after conflicts have been manually resolved by user. (This option is only available after all conflict files have been marked "Resolved" by the user.)
Abort merge Aborts the merge that caused conflicts and restores local repository to state it was in prior to the pull / merge attempt. (This option is only available when one or more files in the repository is in a conflict state.)
Resume rebase Attempts to resume rebase after conflicts have been manually resolved by user. (This option is only available after all conflict files have been marked "Resolved" by the user.)
Abort rebase Aborts the rebase that caused conflicts and restores local repository to state it was in prior to the rebase attempt. (This option is only available when one or more files in the repository is in a conflict state.)
Reapply stash Opens the "Apply stash" dialog where you can choose a pre-existing stash to apply to the current branch.
Push Pushes the locally committed objects to the associated remote repository.
Pull Pulls all objects from associated remote repository to local repository.
Launch shell Opens the Git shell window.
Sort files by Git status Shows files with a "modified" or "conflict" status to be moved to the top of the file list. (Available for "Explorer" pane only.)
Config » Open .gitignore Opens repository's ".gitignore" file for editing.
Config » Open config file Opens repository's local ".git\config" file for editing.

For repository files:

Add » file name Adds selected file to the repository. (This option is only available if the file has not yet been added to the repository.)
Add » file extension Adds all new files with the selected file's extension to the repository. (This option is only available if the file has not yet been added to the repository.)
Add to ignore list » file name Adds the selected file to the repository's .gitignore file and excludes it from the repository. (This option is only available if the file has not yet been added to the repository.)
Add to ignore list » file extension Adds the selected file's extension only to the repository's .gitignore file. All files matching this extension will be excluded from the repository. (This option is only available if the file has not yet been added to the repository.)
Commit this file only Allows you to commit just the selected file to the repository. (This option is only available if the file is modified.)
Mark resolved Allows you to set the selected conflict file to "resolved" to resume the merge / rebase. (This option is only available if the file is in a conflict state.)
Diff Shows Git diff output for the selected file in Git shell window. (This option is only available if the file is modified.)
Diff with UltraCompare Sends modified and repository versions of the selected file to UltraCompare Professional for text compare. (This option is only available if the file is modified.)
Revert Reverts all uncommitted changes and restores repository version of the selected file. (This option is only available if the file is modified.)
Show log Outputs history log for the selected file to Git shell window.
Blame Shows what revision and author last modified each line of the selected file.

Git file icon overlays in the Explorer / Project panes

Git repositories that have been added to a project are shown in the "Project" pane with the current branch name and commits ahead / behind directly beneath them. The color used also indicates the state of the repository:

  • If green, there are no uncommitted changes in the local Git repository.
  • If orange, there are uncommitted changes in the local Git repository.
  • If red, there are conflicts in the local Git repository that need to be resolved.

UEStudio will show the following icon overlays for files and folders that are part of a Git repository:

Icon Meaning
Git-icon-folder-updated.png The folder and all its contents are up-to-date; all changes are committed to the repository.
Git-icon-file-updated.png The file is up-to-date and committed to the repository.
Git-icon-folder-modified.png One or more files in the folder has uncommitted changes.
Git-icon-file-modified.png The file has uncommitted changes.
Git-icon-file-added.png The file has been newly added to the repostiory but has not yet been committed.
Git-icon-folder-unknown.png The folder and all its contents are not a part of the Git repository.
Git-icon-file-unknown.png The file is not a part of the Git repository.
Git-icon-folder-conflict.png One or more files in the folder is in a conflict state as a result of an automatic merge or rebase.
Git-icon-file-conflict.png The file is in a conflict state as a result of an automatic merge or rebase and must be manually resolved.
Git-icon-folder-ignored.png The folder and all its contents are ignored from the Git repository due to an ignore rule in the ".gitignore" file.
Git-icon-file-ignored.png The file is ignored from the Git repository due to an ignore rule in the ".gitignore" file.