Git Learning reference: HTTPS://GIT-SCM.COM/BOOK/ZH/V2
Version control
Version control records the historical changes of one or several documents for future review and recovery.
Three types of version control system
- Local version control system RCS: Local Storage File change system, unable to collaborate and unified management of permissions
- Centralized version control system CVCS: Change storage in a centralized server
- Distributed version control system DVCS: Distributed storage repository mirroring, including all information on file history changes
History of Git
Git comes from the Linux team and is developed by Linux in order to solve the issue of BitKeeper charges before the Release management tool.
Design goals
- Speed
- Simple
- Strong support for non-linear development patterns (multiple parallel branches of development)
- Fully distributed
- For ultra-large scale projects
Linux is open source, so when the version tools they used earlier started charging for the right, they decided to develop a version control tool, ie git.
Speaking of open source, we need to understand the common open source agreement, so that we do technology selection when considering. For example, a generic open source protocol requires open source frameworks for projects.
The difference between git and SVN (or other version control systems)
Direct recording of snapshots, rather than differential comparisons
了解此项差异的底层实现方式非常重要,有利于我们更准确的理解和学习Git.具体可以参考文章开始的网站资料.(有图有真相)
- Nearly all operations are performed locally (thanks to the 1th implementation, distributed storage)
Git uses the SHA1 hash algorithm to calculate the checksum guarantee integrity
Git的索引是校验值而不是文件名,如果在传送过程中有信息丢失和损坏,Git就能发现.
Git typically adds only data (no data is lost as long as it is committed, reversible operations can be performed)
Pre-use configuration
# Default Mygitlib User ([email protected])
Host mygitlib.com
HostName mygitlib.com
User git
Identityfile C:\Users\xueli.ssh\mygitlib
It's git start and background, and next time you'll learn about Git commands.
Three Java Engineering--git Start