# GIT
-
GIT is a system that can save files on it so all the worker that have access to these files can work on them and get save every changes that happened to them even if there is multi changes that happened from the Programmers.
-
GIT can be installed as part of GITHUB
-
you can download git as a part of githp
-
After making sure Git has been installed, you should perform some customization steps, which should only need to be completed once on any machine.
-
with GIT you cancreat branches from the central repository all your workmate can work on a project simultaneously via the multiple branches, without affecting this main repository.
-
with merging you can merge changes from one branch into your current one
-
Rebasing is a popular alternative to merging, Rebasing starts with the common ancestor of two branches: the one you’re on and the one you’re rebasing onto. Then, the diffs resulting from each commit of your current branch are saved to temporary files, and the current branch gets reset to the same commit as that of the branch you are rebasing onto. Last but not least, all changes get applied to the branch you are rebasing onto.
-
When the two files being merged both have changes in identical sections of a file, Git will not be able to complete the merge cleanly. These conflicts must be dealt with manually.
-
pro-merge argument : The true commit history of a repository should not be altered because it’s a record of occurrences.
-
pro-rebase argument : Commit histories should be polished and well edited.
-
you can yuse log command o see a project’s history, use a filter, and find specific modifications
-
With the use of tags, Git can flag certain points in a project’s history as being significant.
-
Aliases allow users to navigate Git in an easier fashion. To save time and effort, one can create aliases for Git commands, which eliminates the need to type out an entire default Git command.
-
if there any files that you found no longer necessary in yor repository and make a lot of chaos ypu can ignor it by ignor command and will be sending them to a special file with the name gitignor.
-
distributed workflows allow developers collaborating on projects much more flexibility. Every developer using Git can be both a node and a hub; this means he/she can own a main repository which collaborators contribute to and base their work off of while also contributing code to other repositories. This opens up the possibilities for workflows immensely.
### you can find more about git from Here