Building Git


Building Git
by: James Coglan
Publication Date 出版日期: 2020
Print Length 页数: 733
Language 语言: English
Print Length 页数: PDF
Size: 10 Mb


Book Description
By finelybook

Building Git is a deep dive into the internals of the Git version control system. By rebuilding it in a high-level programming language,we explore the computer science behind this widely used tool. In the process,we gain a deeper understanding of Git itself as well as covering a wide array of broadly applicable programming topics,including:
Unix concepts
Reading and writing from files,making writes appear atomic,prevent race conditions between processes
Launching child processes in the foreground and background,communicating with them concurrently
Displaying output in the terminal,including colour formatting,paged output,and interacting with the user’s text editor
Parsing various file formats,including Git’s Merkle-tree-based commit model,the index,configuration files and packed object files
Data structures
How Git stores content on disk to make effective use of space,make the history efficient to search,and make it easy to detect differences between commits
Using diffs to efficiently update the contents of the workspace when checking out a new commit
Effectively using simple in-memory data structures to solve programming problems
Parsing and interpreting a query language for addressing commits
Concurrent editing
How Git uses branches to model concurrent edits
Algorithms for detecting differences between file versions and merging branches back together
Why merge conflicts happen,how they can be avoided,and how Git helps users prevent lost updates
How merging can be used as the basis for numerous operations to edit the commit history
Software engineering
Bootstrapping and growing a self-hosting system
Test-driven development
Refactoring to enable new feature development
Crash-only software design that allows programs to be interrupted and resumed
Networking
Using SSH to bootstrap a network protocol
How Git repositories communicate to minimise the data they need to transfer when fetching content
How the network protocol uses atomic operations to prevent users overwriting each other’s changes

相关文件下载地址

Formats: PDF, EPUB, MOBI | 9 MB
下载地址 Download解决验证以访问链接!
打赏
未经允许不得转载:finelybook » Building Git

评论 抢沙发

觉得文章有用就打赏一下

您的打赏,我们将继续给力更多优质内容

支付宝扫一扫

微信扫一扫