Updating the currently checked out branch this may cause confusion
The best way to see how this works is using the gitk(1) command; running gitk now on a git repository and looking for merge commits will help understand how the git organizes history.In the following, we say that commit X is "reachable" from commit Y if commit X is an ancestor of commit Y.Every commit (except the very first commit in a project) also has a parent commit which shows what happened before this commit.Following the chain of parents will eventually take you back to the beginning of the project.Chapter 1, Repositories and Branches and Chapter 2, Exploring git history explain how to fetch and study a project using git—read these chapters to learn how to build and test a particular version of a software project, search for regressions, and so on.People needing to do actual development will also want to read Chapter 3, Developing with git and Chapter 4, Sharing development with others. Comprehensive reference documentation is available through the man pages, or git-help(1) command.Equivalently, you could say that Y is a descendant of X, or that there is a chain of parents leading from commit Y to commit X.
It will be useful to have a git repository to experiment with as you read this manual.
However, the commits do not form a simple list; git allows lines of development to diverge and then reconverge, and the point where two lines of development reconverge is called a "merge".
The commit representing a merge can therefore have more than one parent, with each parent representing the most recent commit on one of the lines of development leading to that point.
The best way to get one is by using the git-clone(1) command to download a copy of an existing repository.
If you don’t already have a project in mind, here are some interesting examples: # git itself (approx.
Git is best thought of as a tool for storing the history of a collection of files.