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页)

时间: 2024-10-07 05:26:52

Git权威指南 读笔(3)的相关文章

Git权威指南 读笔(4)

第12章 改变历史: $ git commit --amend -m "Remove hello.h, which is useless." 修改提交说明 $ git log --decorate : 参数decorate表示显示提交所属里程碑tag $ git cherry-pick [commit] : 拣选指令 $ git cherry-pick -C C : 重用C提交的提交说明 $ git rebase --onto <newbase> <since>

Git权威指南 读笔(1)

第四章 Git初始化: 设置Git当前用户和邮件地址: $ git config --global user.name $ git config --global user.email 设置Git命令别名: $ git config --global alias.ci commit 在windows系统中进入J:\gits\目录,可以先输入mount命令,查看各盘符在Cygwin下的驱动映射地址 $ cd /cygdrive/j/gits/ 创建文件夹:$ mkdir demo  创建文件: $

Git权威指南 读笔(2)

第七章 Git重置: Git提供了一个挽救机制,通过.git/logs目录下日志文件记录了分支的变更. master分支的日志文件.git/logs/refs/heads/master,显示最后5行: $ tail -5 .git/logs/refs/heads/master 也可以用 git reflog 命令对这个文件进行操作. 重置命令: $ git reset [-q] [<commit>] [--] <paths>... 不会重置引用,不会改变工作区,而是用指定提交状态(

Git权威指南学习笔记(一)Git初始化

1.在Git中配置用户名和邮件地址 $ git config --global user.name "Jymn_Chen" $ git config --global user.email "[email protected]" 注意把用户名和邮件地址替换成你自己的资料. 在这里的参数global表示配置的作用范围是当前用户,如果将参数改为system,那么配置的作用范围是系统中的所有用户. 2.创建版本库 新建一个目录并cd到目录中,执行以下命令: $ git i

Git权威指南学习笔记(二)Git暂存区

如下图所示: 左侧为工作区,是我们的工作目录. 右侧为版本库,其中: index标记的是暂存区(stage),所处目录为.git/index,记录了文件的状态和变更信息. master标记的是master分支所代表的目录树.HEAD指向master分支. objects标记的是Git的对象库,所处目录为.git/objects,文件索引建立了文件和对象库中对象实体之间的映射关系. 通过该图我们可以清晰地看出add,commit等命令的转化关系.下面通过git diff和git status两条命

读书 Git权威指南

一.中文文件名不能正确显示,而是现实八进制的字符编码,怎么解决? $ git status "\346\227\245\345\277\227.txt" 解决方式: git config --global core.quotepath false $ git status 日志.txt 二..git目录是什么? 是git版本库(仓库,repository),也被称为工作区. 三.工作区.暂存区.版本库的区别 四.命令 config命令 显示工作区根目录: git rev-parse -

《Git权威指南》读书笔记

书中提到Andrew Tridgell,然后说是大名鼎鼎的Samba的作者,这两个名字,一个也没听说过.经查询,是UNIX系列操作系统上的一个软件,如下: Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务.SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文

Git使用指南

不都是SCM代码管理嘛,有很大区别么?很多svn老鸟都是抱着这样的心态去学习git,然后无一幸免地陷入"查阅过很多资料,依然掌握不好"的困境,至少我们团队是这样的. 网上的资料确实已经很多了,却没有把整个知识结构串起来.通读<git权威指南>是可行的,只是大家都急着用,没那耐性.我这里熬一碗鸡汤,整理供大家享用. 一.安装 服务器端不展开,因为主要面向搬砖的码农. 客户端可参见大神 廖雪峰 的Git教程-安装git 需要特别说明的是,在windows中,msysgit才是真

《Android编程权威指南》-读书笔记(三)Git初探

<Android编程权威指南>-读书笔记(三)Git初探 版本控制-Git 为什么要使用版本控制 什么是版本控制?我为什么要关心它呢?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.在本书所展示的例子中,我们仅对保存着软件源代码的文本文件作版本控制管理,但实际上,你可以对任何类型的文件进行版本控制. 如果你是位图形或网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本(这或许是你非常渴望拥有的功能).采用版本控制系统(VCS)是个明智的选择.有了它你就