Git 的正确使用姿势与最佳实践|青训营

54 阅读1分钟

基本原理

每一个库都存有完整的提交历史,可以直接在本地进行代码提交 每次提交记录的都是完整的文件快照,而不是记录增量 通过 push 等操作来完成和远端代码的同步

优点

分布式开发,每一个库都是完整的提交流失,支持本地提交,强调个体 分支管理功能强大,方便团队管理,多人协同开发 校验和机制保证完整性,一般只添加数据,很少执行删除操作,不容器导致代码丢失

缺点

相对 SVN 来说更复杂,学习成本更高 对于大文件的支持不是很好(git-lfs 工具可以弥补这个功能)

生成/添加SSH公钥

ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com" Generating public/private ed25519 key pair... 图片演示 165113_8e58f0e1_551147-59f6a70c273a338dad20e5cb8945ac5e.webp

165455_ec7dbd09_551147-afec57da5858ea02dae4935c382c4264.webp

git cat-file -p 4690 #其实不输入完整也是可以的哈 输出 100644 blob 8254f875c6f8d41f9137917a46804bc5eb9e781f README.md **Git 中的 Object **

commit tree blob 在 Git 里面都统称为 Object ,除此之外还有一个 tag 的 Object

Blob 存储文件的内容 Tree 存储文件的目录信息 Commit 存储提交信息,一个 commit 可以对应唯一版本的代码

总结

refs 文件存储的内容就是对应的 commit id 可以把 ref 当作一个指针,指向对应的。commit 来表示当前 ref 对应的版本 refs/heads 前缀表示的是分支(branch), 除此之外还有其他种类的 ref ,比如 refs/tags 前缀表示的是标签