读书 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 --show-toplevel

编辑工作区的cofig文件:git config –e

编辑全局config文件: git config –e –global

编辑config文件的某个值:git config x.y.z others

删除全局config文件的值:git config --unset –global user.name

日志命令:

git log (显示简单日志)

git log --pretty=fuller(显示完整日志)

git commit --amend --allow-empty --reset-author (修改最近一次提交的日志和作者信息)

git log --stat (可以看到日志中每次提交的文件变更统计)

git log --pretty=oneline (查看简单的日志信息)

git log --graph --oneline (查看更简短的日志)

git log --pretty=raw --graph a2ee32 (日志追踪)

差异命令

git diff (比较工作区与暂存区的差异)

git diff HEAD(工作区和HEAD比较)

git diff --cached (暂存区和HEAD比较)

状态命令

git status –s (查看简短信息)

git status –s –b (查看保存的工作进度数据)

撤销命令

git checkout  --xp.txt (撤销工作区指定文件内容修改,新增文件无法撤销)

git checkout . (撤销工作区中所有文件的内容修改)、

git reset  --hard head^ (撤销修改到上此提交,—hard慎用,会破坏工作区的改动)

git reflog show master | head –5 (如果hard撤销后悔了,可以通过此命令查看撤销的日志,前提config 中需要开启:git config core.logallrefupdates)

git reset --hard [email protected]{2} (恢复hardreset撤销的内容)

git reset (从暂存区恢复到工作区)

git reset head (同上)

git reset head^ (恢复上一个指针至工作区)

工作区、暂存区、版本库的目录树浏览

git ls-tree –l head (查看版本库中当前提交)指向的目录树

git ls-files –s (查看暂存区中)指向的目录树

提交命令:

git commit –m “updage” (提交暂存区所有修改到版本库)

git commit –a (提交到版本库,包括工作区的内容,不建议使用此命令!!!)

保存工作进度

git stash (保存工作区及暂存区的工作进度)

git stash list (查看搁置的工作进度)

git stash pop (恢复最近保存的一次的工作进度)

git stash drop (删除一次工作进度)

git stash clear (清楚所有工作进度)

分支

git branch (查看分支)

git branch –v (查看分支带指针地址)

git checkout [master] (切换分支)

git checkout –b [xxx] (新建分支)

(标签)tag

git tag –m “v1”v1 (添加tag)

ls .git/refs/tags (查看所有的tag)

删除文件

rm *.txt (删除文件,但只是在工作区)

git rm *.txt (删除文件,并提交更改至暂存区)

移动文件

git mv 日志.txt log.txt (将日志.txt改名为log.txt)

忽略文件

touch .gitignore (增加忽略文件,共享式)

时间: 2024-10-28 21:43:48

读书 Git权威指南的相关文章

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权威指南》读书笔记

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

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权威指南 读笔(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使用指南

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

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

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