基本概念

  • 工作目录 : 当前实际的目录
  • 缓冲区 : 所有修改需要先 add 到缓冲区,再提交到仓库
  • 仓库 : 实际存储提交历史的地方
  • 远程 : 相当于 SVN/VCS 之类的Server

初始化

在已有目录下初始化 git 仓库

$ git init

在Server初始化空的 git 仓库

$ git init --bare

查看类

查看当前工作目录状态,列出所有已添加到缓种区的文件(绿色),所有未添加到缓种区的文件(红色)

$ git status

查看仓库历史

$ git log

查看操作历史

$ git reflog

日常操作

添加文件跟踪

$ git add README.md

添加所有修改到缓冲区。缓冲区可以多次提交,然后一次性 commit 到仓库

$ git add --all

一个个提交修改文件很没效率,但是 add –all 会把一些我们不想同步的临时文件也一起提交,我们可以通地 .gitignore 文件告诉 git 哪些文件不要理会。git 结果很简单,一行一个 glob 。可惜用 # 进行注释

撤销已经添加到缓冲区的文件

$ git reset README.md

提交到仓库

$ git commit -m 'YOUR MESSAGE'

追加/修改提交内容。提交到仓库若发现少了一些修改,可以通过下面的方式修改提交,这样就不会有新的提交历史。

$ git add --all $ git commit --amend

回退版本。当发现提交有问题,需要回退到之前一个版本时使用,这个操作比较危险,小心使用:

$ git reset HEAD~1 --hard

取消回退。当发现回退有问题时,短时间内可以使用操作历史及回退命令取消回退(git 隔一段时间会清空 reflog)。

$ git reflog $ git reset e284c7f --hard