一、中文文件名不能正确显示,而是现实八进制的字符编码,怎么解决?
$ 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 (增加忽略文件,共享式)