Fork me on GitHub

玩转Git三剑客

下面我们整理一下常用的Git命令清单,先列举Git的几个专属名词

  • WorkSpace: 工作区
  • Index/Stage: 暂存区
  • Repository: 仓库(或本地仓库)
  • Remote: 远程仓库

初次运行Git前的配置

用户信息

当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址。 这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改:

1
2
$ git config --global user.name "xxx"
$ git config --global user.email "xxx.com"

config的三个作用域

缺省等同于local

1
2
3
$ git config --local
$ git config --global
$ git config --system

显示config的配置,加上--list,可以查看配置信息

1
2
3
$ git config --list --local
$ git config --list --global
$ git config --list --system

你可以通过输入 git config 来检查Git的某一项配置

1
$ git config user.name

优先级

1
local > global > system

设置与清除

设置,缺省等同于local

1
2
3
$ git config --local
$ git config --global
$ git config --system

清除, –unset

1
2
3
$ git config --unset --local user.name
$ git config --unset --global user.name
$ git config --unset --system user.name

Git的基本命令

建Git仓库

两种方式:

  • 用Git之前已经有项目代码了
1
2
$ cd 'xxx项目代码所在的文件夹'
$ git init
  • 用Git之前还没有项目代码
1
2
$ cd '某个文件夹'       # 用于存放项目的目录
$ git init '项目名称' # 会在当前路径下创建和项目名称同名的文件夹

记录每次更新到仓库

谨记,我们工作目录下的每一个文件都不外乎两种状态:已跟踪或未跟踪。所以使用Git时文件的生命周期如下:

检查当前文件状态

1
2
3
4
5
$ git status

On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)

这说明你现在的工作目录相当干净。换句话说所有已跟踪文件在上次提交后都未被更改过。最后,该命令还显示了当前所在分支,并告诉你这个分支同远程服务器上对应的分支没有偏离。 现在,分支名是 “master”,这是默认的分支名。 我们在 Git 分支 会详细讨论分支和引用。

现在,让我们在项目下创建一个新的 README.md 文件。 如果之前并不存在这个文件,使用 git status 命令,你将看到一个新的未跟踪文件:

1
2
3
4
5
6
7
8
9
$ touch README.md
$ git status

On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
README.md
nothing added to commit but untracked files present (use "git add" to track)

跟踪新文件

使用命令 git add 开始跟踪一个文件。 所以,要跟踪 README 文件,运行:

1
$ git add README.md

此时在运行git status命令,会看到README.md文件已被跟踪,并处于暂存状态:

1
2
3
4
5
6
7
8
$ git add README.md
$ git status

On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: README.md