git learning note
This creates a new subdirectory named .git that contains all of your necessary repository files — a Git repository skeleton. At this point, nothing in your project is tracked yet.
If you want to start version-controlling existing files (as opposed to an empty directory), you should probably begin tracking those files and do an initial commit.
You can accomplish that with a few git add commands that specify the files you want to track, followed by a
If you want to get a copy of an existing Git repository — for example, a project you’d like to contribute to — the command you need is
The main tool you use to determine which files are in which state.
nothing to commit, working directory clean
This means you have a clean working directory — in other words, none of your tracked files are modified. Git also doesn’t see any untracked files, or they would be listed here.
git status output is pretty comprehensive, it’s also quite wordy. Git also has a short status flag so you can see your changes in a more compact way. If you run
git status -s or
git status --short you get a far more simplified output from the command.
Often, you’ll have a class of files that you don’t want Git to automatically add or even show you as being untracked. These are generally automatically generated files such as log files or files produced by your build system. In such cases, you can create a file listing patterns to match them named
git status command is too vague for you — you want to know exactly what you changed, not just which files were changed — you can use the
git diff command.
To remove a file from Git, you have to remove it from your tracked files (more accurately, remove it from your staging area) and then commit. The
git rm command does that, and also removes the file from your working directory so you don’t see it as an untracked file the next time around.
Thus it’s a bit confusing that Git has a mv command. If you want to rename a file in Git, you can run something like:
$ git mv file_from file_to
and it works fine.
After you have created several commits, or if you have cloned a repository with an existing commit history, you’ll probably want to look back to see what has happened. The most basic and powerful tool to do this is the
git log command.
One of the more helpful options is
--patch, which shows the difference (the patch output) introduced in each commit. You can also limit the number of log entries displayed, such as using
-2 to show only the last two entries.
If you want to see some abbreviated stats for each commit, you can use the