git diff 后直接按n按键--快速找diff关键字
reset命令:
第一步. 移动HEAD指针 git reset --soft HEAD~
第二步. 更新索引 git reset --mixed HEAD~
第三步:更新工作区 git reset --hard HEAD~ //这一步会真正销毁你所修改的文件内容,谨慎处理。
直接用 git reset HEAD~ ,相当于第二步,修改的文件内容还在,只是需要重新add(这条命令正好和git add反着来)
git reset HEAD test.txt 和上面一行的命令效果一样。
git reset eb43df test.txt //指定某一个提交的文件来回退。仅仅改变暂存区的记录,工作区和提交的不变。
git 文件(也叫数据对象)有三种模式:1.普通文件->100644 2.可执行文件->100755 3.符号链接->120000
git cat-file -t hash_value // -t查看SHA-1值指向的对象类型, p参数可将hash指定的值显示为看得懂的内容
git ls-files --stage //查看暂存区(也叫索引)的内容,暂存区保存的只是个索引,真正的文件存在git/objects
步骤一:
echo 'test content' | git hash-object -w --stdin //hash-object命令可以存储git文件,并返回对应键值。
Git 以对象类型作为开头来构造一个头部信息,本例中是一个“blob”字符串。 接着 Git 会添加一个空格,随后
是数据内容的长度
