Let me try to explain git. I don't know what is difficult for you, but it works fairly simply. Especially after knowing a bit of the internals.
So let me start that git is a sqlite database with a host of applications that attach and manipulate it. This database lives in the .git directory.
Don't go there. It is not for us mortals.
This database is clever and fast and very adept at managing changes between versions of files, but it doesn't monitor what you've done in the repo other than when you invoke the various git utilities.
The base git command is a bash script essentially that delegates to other tools in its directory or something. It doesn't matter.
git init #starts a repo
Creates the empty database.
git add <file>
adds the instance of a file to the git. This does not change the repo's state until you commit.
git commit
Creates a commit with additions and changes, git sees files in terms of modifications made to them. Lines added and removed. The file handle can be changed with another git commit.
git mv <file-src> <file-dst>
This changes the file name associated with the changeset.
git rm
This removes a file. Have you noticed a pattern? These are unix shell commands.
git branch
Changes the active branch of the git repo. The active branch is the active changeset being worked upon. These start from a single commit, and then move onwards independent of each other.
Once you have done this, then you must checkout the new branch.
git checkout <branch-name>
This changes branches. You can also switch between remote branches this way if they exist on the local repo as well.
git merge <branch>
This merges the chosen branch into the current one, this closes the other branch.
git pull <remote>
This pulls changes from the remote.
git push <remote> <branch>
Push the state of the repo to a remote.
git gui
This is in most distributions of git. If you can't use this, you don't actually understand how scms work, or at least distributed scms. In this case, one might term you one of the following:
- A scrub
- A noob
- I missed your problem with it.