Git权威指南 读笔(3)

第九章 恢复进度:

  $ git stash list

    显示存储的工作进度列表。

  $ git stash

    保存当前的工作进度,分别对暂存区和工作区的状态进行保存。

  $ git stash pop [--index] [<stash>]

    恢复保存的工作进度,并将恢复的工作进度从存储的工作进度列表中删除。

  $ git stash [save [--patch] [-k|--[no-]keep-index] [-q|--quiet] [<message>]] 

    第一条git stash的完整版。

  $ git stash apply [--index] [<stash>]

    不删除恢复的进度,其余和git stash pop一样。

  $ git stash drop [<stash>]

    删除一个存储的进度。

  $ git stash clear

    删除所有存储的进度。

  $ git stash branch <branchname> <stash>

    基于进度创建分支。

  实现方法:

    用git stash保存进度,实际上会将进度保存在引用refs/stash所指向的提交中;而refs/stash引用的变化又reflog(即.git/logs/refs/stash)所记录下来。

第十章 Git基本操作:

  $ git ls-files [--with-tree=<commit>]:默认查看暂存区中的文件

  $ git rm [filename] :删除暂存区中的文件

  $ git cat-file [-p] [<commit>:filename]: 查看文件内容

  $ git add -u:将被版本库追踪的本地文件的变更全部记录到暂存区

  $ git checkout <commit> -- filename : 从历史提交中提取文件

  $ git mv filename filename : 改名操作

  $ git add -i : 进入交互界面,选择性添加

    $ cat > .gitignore << EOF

    > hello

    > *.o 

    > *.h

    > EOF

    :实现文件忽略

  $ git add -f hello.h : 添加已经被忽略的文件,添加后保持跟踪

  $ git archive -o latest.zip head : 基于最新提交建立归档文件

  $ git archive -o partial.tar head src doc

  $ git archive --format=tar --prefix=1.0/ v1.0 | grip > foo-1.0.tar.gz

第11章 历史穿梭:

  图形工具gitk、gitg、qgit,由于cygwin命令安装不完整,尚未实践。

  版本表示法:git rev-parse , 加不同参数可以显示当前版本库的引用;讲一个Git对象表达式表示为对应的SHA1哈希值。

  版本范围表示法: git rev-list , 一个提交ID就可以代表一个版本列表,含义是该版本开始的所有历史提交,取反^ , 加点..

  浏览日志: git log , 参数-<n>显示最近的<n>条日志;参数-p显示日志的时候显示改动;参数--stat只显示改动在哪些文件上;参数--pretty=raw显示commit的原始提交;

  $ git show D --stat : 只显示某一个提交;

  $ git cat-file -p D^0 : 显示里程碑D及其提交,参数-p的含义是美观的输出pretty。

  $ git blame [filename] : 文件追溯

  $ git blame -L 6,+5 [filename] : 显示第6行开始往后的5行

  $ git disect : 二分查找 (详见书籍152页)

原文地址:https://www.cnblogs.com/nuaalida/p/4278641.html