一： Staging Modified Files
Let’s change a file that was already tracked. （tracked 表示该文件已经被git管理过，再次修改了文件的状态。对应状态是untracked或
二：git add （后该文件为已标记(tracked),状态为Modified ）
git add is a multipurpose command — you use it to begin tracking new files, to stage files, and to do other things like marking merge-conflicted files as resolved. It may be helpful to think of it more as “add precisely this content to the next commit” rather than “add this file to the project”.
The rules for the patterns you can put in the
.gitignore file are as follows:
Blank lines or lines starting with
Standard glob patterns work, and will be applied recursively throughout the entire working tree.
You can start patterns with a forward slash (
/) to avoid recursivity.
You can end patterns with a forward slash (
/) to specify a directory.
You can negate a pattern by starting it with an exclamation point (
Glob patterns are like simplified regular expressions that shells use.
* An asterisk (
*) matches zero or more characters;
* [abc] matches any character inside the brackets (in this case a, b, or c);
* a question mark (
?) matches a single character;
* and brackets enclosing characters separated by a hyphen (
[0-9]) matches any character between them (in this case 0 through 9).
* You can also use two asterisks to match nested directories;
a/**/z would match
a/b/c/z, and so on.
- vt. 包括；采访，报导（讨论）；涉及；行走（一段路程）；掩护；翻唱
- n. 封面，封皮；盖子；掩蔽物;幌子，借口
- vi. 覆盖；代替；敷衍；给…投保；
eg : We’ll cover(讨论)
git diff in more detail later, but you’ll probably use it most often to answer these two questions:
To see what you’ve changed but not yet staged, type
git diff with no other arguments:
git diff --stateg(
--cached are synonyms):
if you want to see what you’ve staged that will go into your next commit, you can use
git diff --staged. This command compares your staged changes to your last commit:
六：Viewing the Commit History（git log）
By default, with no arguments,
git log lists the commits made in that repository in reverse chronological order; that is, the most recent commits show up first. As you can see, this command lists each commit with its SHA-1 checksum, the author’s name and email, the date written, and the commit message.
Common options to
Show the patch introduced with each commit.
Show statistics for files modified in each commit.
Display only the changed/insertions/deletions line from the --stat command.
Show the list of files modified after the commit information.
Show the list of files affected with added/modified/deleted information as well.
Show only the first few characters of the SHA-1 checksum instead of all 40.
Display the date in a relative format (for example, “2 weeks ago”) instead of using the full date format.
Display an ASCII graph of the branch and merge history beside the log output.
Show commits in an alternate format. Options include oneline, short, full, fuller, and format (where you specify your own format).
7.1 git commit --amend
This command takes your staging area and uses it for the commit. If you’ve made no changes since your last commit (for instance, you run this command immediately after your previous commit), then your snapshot will look exactly the same, and all you’ll change is your commit message.
7.2 Unstaging a Staged File
八：Adding Remote Repositories
To add a new remote Git repository as a shortname you can reference easily, run
git remote add <shortname> <url>
九：Fetching and Pulling from Your Remotes（git fetch versus git pull）
It’s important to note that the
git fetch command only downloads the data to your local repository — it doesn’t automatically merge it with any of your work or modify what you’re currently working on. You have to merge it manually into your work when you’re ready.
If your current branch is set up to track a remote branch ， you can use the
git pull command to automatically fetch and then merge that remote branch into your current branch. This may be an easier or more comfortable workflow for you; and by default, the
git clone command automatically sets up your local master branch to track the remote master branch (or whatever the default branch is called) on the server you cloned from. Running
git pull generally fetches data from the server you originally cloned from and automatically tries to merge it into the code you’re currently working on.