Tech, ExplainedCloud platforms and developer tools
Product

Code repository

The code, its full history and every review.

BEFORE ITAFTER ITCode repositoryAtlassianGitLabGitHubPerforce SoftwarePARTVersion controlfor large files+COVERSGit historyBranchesPull requestsReview rulesAI coding agent↗ AI CODINGopenspull requestsAI coding assistant↗ AI CODINGsuggeststhe codestartseach buildCI/CD pipelinesends eachpull requestAI code review↗ AI CODINGlinksthe ticketIssue trackerCONCEPTS IT USESPull requestBEFORE ITAFTER ITCode repositoryAtlassianGitLabGitHubPerforce SoftwarePARTVersion control forlarge files+COVERSGit historyBranchesPull requestsReview rulesAI coding agent↗ AI CODINGopenspull requestsAIcoding assistant↗ AI CODINGsuggeststhe codestartseach buildCI/CD pipelinesends eachpull requestAI code review↗ AI CODINGlinksthe ticketIssue trackerCONCEPTS IT USESPull requestBEFORE ITAI coding agent↗ AI CODING↓ opens pull requestsAI coding assistant↗ AI CODING↓ suggests the codeCode repositoryAtlassianGitLabGitHubPerforce SoftwareVersion control for large files+Git historyBranchesPull requestsReview rulesAFTER IT↓ starts each buildCI/CD pipeline↓ sends each pull requestAI code review↗ AI CODING↓ links the ticketIssue trackerCONCEPTS IT USESPull request
The code repository receives commits and pull requests, starts the CI/CD pipeline and the AI code reviewer for each one, and updates the linked ticket when a change is merged.
opens a page inside this one a page in the same scene a page in another scene a concept page a label only, with no page

A code repository is the place where a software team keeps its code, with the full history of every change, and where each proposed change is reviewed before it joins the main code. It is often called a repo, or a Git repository, after Git, the free tool that almost every team uses to record versions. Hosted services such as GitHub, GitLab and Bitbucket keep repositories on their own servers and add review screens on top.

Here is how Git records the work. Each saved change is called a commit. A commit records exactly which lines were added or removed, who made the change, when, and a short message saying why. The commits form a history that goes back to the first line of code. So a team can see who wrote any line, and can go back to any earlier version. The approved version of the code is called the main branch. A developer who starts new work makes a branch, a separate copy where the work can go on without disturbing anyone else.

When the work is ready, the developer opens a pull request. A pull request asks for the branch to be merged into the main branch. It shows the changed lines beside the old ones. Reviewers comment on single lines and ask for changes. Usually the team sets a rule: at least one other developer must approve, and all the automatic checks must pass, before the change can be merged.

Take, for example, an edtech company in Noida with 40 developers. A developer changes how a quiz score is calculated, in three files and 85 lines. She opens a pull request. Within seconds, the repository starts the CI/CD pipeline, which builds the change and runs the tests. A static code scanner reads the new lines for security mistakes, such as a password typed into the code. An AI code reviewer posts comments on two lines and summarises the change. A senior developer reads all of this, asks for one fix, and then approves. The change is merged at 4 p.m., and the issue tracker marks the linked ticket as done.

The repository is also the starting point for many other tools. An AI coding agent reads it to understand the code before it writes a change. Application dependency mapping reads all of it to draw how the parts of a large system connect.

Most companies use a hosted service. Some banks and government bodies install the same software on their own servers instead, so that their code never leaves their own premises. Git handles text files well, but it struggles with very large files such as game art. For those, studios use version control for large files.

Tech, Explained is a part of ingrid.fyi. Every page explains one piece of technology in plain words.