Agents are used in DeviceLink. They are a piece of software that will perform or request the actual backup of the Device directly. This is downloaded and installed on a PC that has access to the customer network.


A branch is a diversion from the main working project. By creating a new branch the user can create a new version of the repo or experiment with changes that will not affect the base code. The most recent commit is considered the head of that branch. If you are happy with the changes you make in one branch, you can merge those changes into another branch.

You can choose to prevent important branches from being deleted or prematurely merged. To learn more, check out the section on branch protections.


Commits are snapshots of your repository at a specific time. They represent a meaningful set of changes and offer user-provided messages describing the changes.

A commit will often be accompanied with a "commit hash" -- a long string generated by Git that serves as a unique identifier. The commit hash is used to reference the Git commit and is sometimes referred to as a "SHA."

Commits only create a snapshot in your local repository. You must push your commits in order to synchronize your changes with the remote repository. As a best practice, commits should be made frequently and after each change.


A clone refers to a copy of an existing repository. The clone can be made as a branch or downloaded to your local repository from a remote repository. You are required to create a clone in order to work on a repository.


Devices are an important part of DeviceLink. They represent the actual hardware device(s) or location(s) that Projects are backed up from (i.e. PLC's, robot controller, etc). They often contain communication information, like an IP address.

Differential (Diff)

A differential (or "diff") in Git is a display output that takes two data sets — like files, commits, or branches — and shows what has changed between them. Diffing refers to the action of looking at the changes between two commits.


The fetch command is used to download commits and repositories from remote to your local repository. Multiple branches can be fetched at once.


Git uses repositories to store each version of an individual developer’s code. It offers features including merging, reverting, and branching which allows developers to work on different parts of the same code simultaneously. Git also stores the full revision history of the code so that developers can easily track changes, fix bugs and deploy new code using practices like continuous integration or continuous deployment.

Git is a modern VCS (version control system) that works with a wide range of operating systems and IDEs (integrated development environments). Git is an open source project that was founded in 2005. It is used by software teams and developers globally.


Issues serve as a tool to track bugs, tasks, or other enhancements as they relate to your repositories. Individuals collaborating on an issue can comment, tag, reference past issues, and upload associated files.


Jobs are configured within DeviceLink. They represent scheduled operations that are used to perform a backup and comparison of your Project to the current instance in the Copia Server.


Akin to the trunk of a tree from which all branches begin, main is the main branch in a project. It represents the space where the final, error free code is stored. Every Git repository has a main branch. You have the ability to create new parallel branches off of main, empowering you to do work without affecting the mainline.


Merging combines two branches. Typically, commits made to a branch are merged into the main branch after being reviewed via a pull request. In some organizations, a project maintainer or manager is responsible for approving merges.


Organizations are top-level entities of the business that are licensing Copia and which indicate data ownership. Typically this is a company name, but in larger organizations may be a division or business unit.


The origin is the remote repository from which a clone was originally copied.


Projects are pointers to specific automation projects which are stored in the repositories within an Organization.

Pull Request

A pull request occurs when you alert others about or request review of a change you’ve pushed to a remote repository. The changes can be discussed, reviewed and commented on, with follow-up commits added before the changes are merged into the main branch. The intent of the pull request is to merge changes into the main branch.


A push is a command used to add your commits from your local repository to a remote repository. A push is the opposite of a fetch.

Remote Repository

A copy of the repository that is centrally located in the cloud or on a server. It is where you push changes for collaboration and backup.


A repository is simply a folder structure stored in Git. The root of a repository is the base folder you want to store. A repository is different from a typical directory insofar as it stores context about the changes to the root folder and all of the subfolders under the root.

When you create a repository, you are essentially creating a root folder that you can add subfolders to. When someone clones a repository, they are copying the root folder of your repository and all of its subfolders to their machine along with the history of changes to that folder.

Copia enables you to have limitless repositories, and each repository can be of any size.

A local repository operates similarly and represents a copy of the repository local to your workstation.


A revert creates a new commit that undoes changes made in a past commit. This avoids having to make a deletion or orphan other commits on a branch.


Sites are the highest hierarchical level within DeviceLink, serving as tools to group user-defined Projects, Devices and Agents. A Site could be home to a factory, an area with a factory, a large region, etc.


Stashing refers to the the ability to pause multiple changes to files that you may be working on. A stash allows you to make individual commits instead of one combined commit with multiple changes. You can call any of the changed files when you are ready to begin working on them again.


Teams are groups of Members that are permitted to have access to a repository. Teams can consist of people from different companies, meaning that you organize a team that's made up of employees and also subcontractors.

To review how Copia handles permission tiers for Teams and Members, check out the section on permissioning.


A wiki serves as a database, community resource, and content management tool. Every repository has its own wiki, and collaborators for that repository can create, modify, or delete wiki pages as needed.

Last updated