Git is the leading distributed version control system.
Git originates from the Linux kernel development and was founded in 2005 by Linus Torvalds. Nowadays it is used by many popular open source projects, e.g., Visual Studio Code from Microsoft, Android from Google or the Eclipse developer teams, as well as many commercial organizations.
The core of Git was originally written in the programming language C, but Git has also been re-implemented in other languages, e.g., Java, Ruby and Python.
A Git repository manages a collection of files in a certain directory. A Git repository is file based, i.e., all versions of the managed files are stored on the file system.
A Git repository can be designed to be used on a server or for an user:
bare repositories are supposed to be used on a server for sharing changes coming from different developers. Such repositories do not allow the user to modify locally files and to create new versions for the repository based on these modifications.
non-bare repositories target the user. They allow you to create new changes through modification of files and to create new versions in the repository. This is the default type which is created if you do not specify any parameter during the clone operation.
A local non-bare Git repository is typically called local repository.
Git allows the user to synchronize the local repository with other (remote) repositories.
Users with sufficient authorization can send new versions of their local repository to the remote repositories via the push operation. They can also integrate changes from other repositories into their local repository via the fetch and pull operation.
Every local repository has a working tree. The files in the working tree may be new or based on a certain version from the repository. The user can change and create files or delete them.
After doing changes in the working tree, the user can capture new versions of the files in the Git repository. Or the user can restore files to a state already captured by Git
Nowadays Github has Become a great tool to work you can even push our project on daily basis and you can put a daily basis graph to maintain your practice
Under github we have git bash to push our project by command lines steps to use git bash
1) download github and git bash
2) As git bash download open in the folder were your files are
3) git clone ("url") where you want to keep your project in which repository
4) git add ("filename")
5)git clone -m ("comments")
6) git push
In git we can make aa many different repository we want to like we can distribute our project like c++ projects different repository python project different repository and many more you can do it
Even In Jenkins it's mostly use to download our project and if any change occurs change it again update your project In further Blogs I will be more discussing on Jenkins Its really a great tool to work