为了账号安全,请及时绑定邮箱和手机立即绑定

git 怎么识别不了ls 命令

git 怎么识别不了ls 命令

Git
千巷猫影 2019-05-14 09:08:55
git 怎么识别不了ls 命令
查看完整描述

2 回答

?
慕桂英546537

TA贡献1848条经验 获得超10个赞

1,未被跟踪的文件(untracked file)
2,已被跟踪的文件(tracked file)
2.1,被修改但未被暂存的文件(changed but not updated或modified)
2.2,已暂存可以被提交的文件(changes to be committed 或staged)
2.3,自上次提交以来,未修改的文件(clean 或 unmodified)
Git把它所管理的所有对象(blob,tree,commit,tag……),全部根据它们的内容生成SHA1哈希串值作为对象名;根据目前的数学知识,如果两块数据的SHA1哈希串值相等,那么我们就可以认为这两块数据是相同的。这样会带来的几个好处:
1,Git只要比较对象名,就可以很快的判断两个对象的内容是否相同。
2,因为在每个仓库(repository)的“对象名”的计算方法都完全一样,如果同样的内容存在两个不同的仓库中,就会存在相同的“对象名”。
3,Git还可以通过检查对象内容的SHA1的哈希值和“对象名”是否匹配,来判断对象内容是否正确。
4,根据上面的原则:Git确实根据内容来生成名字的,而且同名(SHA1哈希串值)肯定会有相同内容,但是提交对象(commit)和其它对象有点不一样,它里面会多一个时间戳(timestamp),所以在不同的时间生成的提交对象,即使内容完全一样其名字也不会相同。



查看完整回答
反对 回复 2019-05-15
  • 2 回答
  • 0 关注
  • 346 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信