Source Code Management (SCM) Terminology¶
Source Code Management (SCM) systems, despite their unique terminologies, share a common core functionality. This guide aims to familiarize you with these terminologies, making your transition between systems smoother and more comfortable.
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, 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 code sets, 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 to share code snippets or notes with others quickly. |