Source Code Management (SCM) Terminology¶
Source Code Management (SCM) systems have much of the same core functionality but may use different terms to represent them. This guide compares these terminologies as shown below:
GitHub | BitBucket | GitLab | Azure DevOps | Description |
---|---|---|---|---|
Pull Request | Pull Request | Merge Request | Pull Request | A formal request to merge changes from one branch into another branch, usually the main branch. It allows for code review and collaboration before merging. |
Repository | Repository | Project | Repository | A collection of files, code, and version history associated with a software project. |
Commit | Commit | Commit | Commit | A record of changes made to the codebase at a particular time. |
Branch | Branch | Branch | Branch | A separate line of development within a repository. It allows multiple contributors to work on different features simultaneously without affecting the main codebase. |
Clone | Clone | Clone | Clone Repository | Creating a copy of a repository, including all its files and version history, on a local machine or another remote location. |
Fork | Fork | Fork | Fork Repository | Making a copy of a repository to one's personal account GitHub account, enabling independent development without affecting the original repository. |
Main | Master | Main | Main | The default and primary branch of a repository where the main development work occurs. |
Tag | Release | Tag | Release | A marker used to identify a specific point in the commit history. |
Push | Push | Push | Push | Uploading local code changes to a remote repository. This makes the committed changes accessible to other collaborators and triggers various actions such as builds and tests. |
Diff | Diff | Changes | Compare/Diff | A comparison between two sets of code, typically showing the differences between versions or branches. It helps identify what has been added, modified, or deleted. |
Artifacts | Artifacts | Artifacts | Artifacts | Build outputs, binary files, or any other files produced during the software development process. |
Workflows | Pipelines | Pipelines | Pipelines | A configurable automated process running one or more jobs. |
Step | Step | Step | Task | Individual work units within a workflow or pipeline. They represent discrete actions like building, testing, and deploying code. |
Gist | Snippet | Snippet | Wiki | A shareable piece of code, text, or documentation. It's often used for quickly sharing code snippets or notes with others. |