> For the complete documentation index, see [llms.txt](https://nevilleandrade.gitbook.io/git-user-manual/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nevilleandrade.gitbook.io/git-user-manual/what-is-git.md).

# What is Git?

Git is a tool for tracking changes to **files** over time. This process is generally called "version control". It is usually used by software coding teams to collaborate on a single project where people within the team either work on the same code base or on different code within the same project.

As a Risk department in addition to maintaining production code life cycles, a lot of research work and analysis is also done. Git provides an organized framework to make an analysts  files accessible to other analysts to either **reproduce or enhance** the given research project. Git solves a research\analysts problems of **storage** so that it is protected from computer failures or viruses. Secondly Git makes your code accessible from multiple locations, for example one analyst can be working on one piece of code in Berlin and another analyst could be sitting in Frankfurt working or **collaborating** in enhancing the same piece of code enabling analysts to later **merge** code together.  Thirdly Git provides the ability to version your code via **snapshots** at some time in point of a project life cycle.  This ability to create snapshots of changes to a project is the basic powerful feature of Git enabling an analyst to **revert unintended changes** or **save changes** for working on at a later point in time. Git provides **visual guides** to help find out the changes between code bases. Lastly the **branching** feature of git allows an analyst to work on code without touching the main production code by creating branches like a tree and then merge these changes back to the main code after reviews are finished via Bitbucket.

Combining the power of git with tools like BitBucket (web hosting of repositories) and JIRA (issue and project tracking), both products of Atlassian, makes the overall Software Development Life Cycle (SDLC) a highly efficient framework for a risk department to work with.

In short the SDLC framework makes it very useful for a risk department to handle

1. Maintainence of production code
2. Performing reproducible research or analysis
