git命令的补充
git config --unset --global user.name
删除user这个section下的name键值对
git commit --alow-empty
允许空白提交
git commit --amend --reset-author
amend表示对上一个提交的修补,不会产生新的提交,reset-author重置作者ID,在改变git配置的name和email之后可以加这两个参数来修改自己的信息
git commit -s
添加作者信息等参数
git diff
无参数:比较工作区与stage (stage:在执行git add而未commit时文件存在的区域)
git diff HEAD
工作区与版本库的当前分支比较
git diff --cached #或git diff --staged
是暂存区与版本库比较
git status -s
查看精简的当前状态
git索引
工作区的.git/index
是包含文件索引的目录树,记录了文件名和文件状态,版本库的文件存在于.git/objects
中
暂存区
使用git add
命令时,暂存区的目录树(index)会更新,同时工作区的修改会写入对象库(objects)的新对象中,该新对象的索引被记录在index中,在commit以后,暂存区会写入版本库(版本库也是一个对象库)中,master分支指向此次进行此次修改的暂存区目录树。
git reset HEAD
把暂存区的目录树修改为master分支的目录树
git rm -cached
从暂存区删除文件
git checkout .
用暂存区替换工作区全部文件
EXTRA
Redmine是一款实现需求管理和缺陷跟踪的项目管理软件,可以与Git版本库整合