出版時間:2010-6 出版社:東南大學出版社 作者:羅力格 頁數(shù):310
Tag標簽:無
前言
AudienceWhile some familiarity with revision control systems will be good background material,a reader who is not familiar with any other system will still be able to learn enoughabout basic Git operations to be productive in a short while. More advanced readersshould be able to gain insight into some of Git's internal design and thus master someof its more powerful techniques.The main intended audience for this book should be familiar and comfortable with theUnix shell, basic shell commands, and general programming concepts.Assumed FrameworkAlmost all examples and discussions in this book assume the reader has a Unix-likesystem with a command-line interface. The author developed these examples on Debian and Ubuntu Linux environments. The examples should work under other environments, such as Mac OS X or Solaris, but the reader can expect slight variations.A few examples require root access on machines where system operations are needed.Naturally, in such situations you should have a clear understanding of the responsibilities of root access. Book Layout and OmissionsThis book is organized as a progressive series of topics, each designed to build uponconcepts introduced earlier. The first 10 chapters focus on concepts and operationsthat pertain to one repository. They form the foundation for more complex operationson multiple repositories covered in the final six chapters.If you already have Git installed or have even used it briefly, you may not need theintroductory and installation information in the first two chapters, nor even the quicktour presented in the third chapter.
內容概要
Git可以支持幾乎無數(shù)種開發(fā)與合作的方法。它最早由LinilusTorvalds創(chuàng)建,用于管理Linux內核開發(fā),現(xiàn)已成為分布式版本控制的主流工具。但是Git的靈活性也意味著某些用戶無法發(fā)揮它的最大價值?!禛it版本控制管理》提供了最高效的方法教程,其友好又嚴謹?shù)慕ㄗh有助于你隨心操控Git的各項功能。
作者簡介
作者:(美國)羅力格(Jon Loeliger)羅力格,是一位自由職業(yè)的軟件工程師,致力于Linux、U-Boot和Git等開源項目。他曾在Linux World等諸多會議上公開講授Git,還為《Linux Magazine》撰寫過數(shù)篇關于Git的文章。
書籍目錄
Preface1.Introduction Background The Birth of Git Precedents Time Line What's in a Name?2.Installing Git Using Linux Binary Distributions Debian/Ubuntu Other Binary Distributions Obtaining a Source Release Building and Installing Installing Git on Windows Installing the Cygwin Git Package Installing Standalone Git (msysGit)3.Getting Started The Git Command Line Quick Introduction to Using Git Creating an Initial Repository Adding a File to Your Repository Configuring the Commit Author Making Another Commit Viewing Your Commits Viewing Commit Differences Removing and Renaming Files in Your Repository Making a Copy of Your Repository Configuration Files. Configuring an Alias Inquiry4.Basic Git Concepts Basic Concepts Repositories Git Object Types Index Content-Addressable Names Git Tracks Content Pathname Versus Content Object Store Pictures Git Concepts at Work Inside the .git directory Objects, Hashes, and Blobs Files and Trees A Note on Git's Use of SHA1 Tree Hierarchies Commits Tags5.File Management and the Index It's All About the Index File Classifications in Git Using git add Some Notes on Using git commit Using git commit --all Writing Commit Log Messages Using git rm Using git mv A Note on Tracking Renames The .gitignore File A Detailed View of Git's Object Model and Files6.Commits Atomic Changesets Identifying Commits Absolute Commit Names refs and symrefs Relative Commit Names Commit History Viewing Old Commits Commit Graphs Commit Ranges ……7.Branches8.Diffs9.Merges10.Altering Commits11.Remote Repositories12.Repository Management13.Patches14.Hooks15.Combining Projects16.Using Git with Subversion Repositorieslndex
章節(jié)摘錄
插圖:It's important to see Git as something more than a version control system: Git is acontent tracking system. This distinction, however subtle, guides much of the design ofGit and is perhaps the key reason Git can perform internal data manipulations withrelative ease. Yet this is also perhaps one of the most difficult concepts for new usersof Git to grasp, so some exposition is worthwhile.Git's content tracking is manifested in two critical ways that differ fundamentally fromalmost all other* revision control systems.First, Git's object store is based on the hashed computation of the contents of its objects,not on the file or directory names from the user's original file layout. Thus, when Gitplaces a file into the object store, it does so based on the hash of the data and not onthe name of the file. In fact, Git does not track file or directory names, which are asso-ciated with files in secondary ways. Again, Git tracks content instead of files.If two separate files located in two different directories have exactly the same content,Git stores a sole copy of that content as a blob within the object store. Git computesthe hash code of each file according solely to its content, determines that the files havethe same SHA1 values and thus the same content, and places the blob object in theobject store indexed by that SHA1 value. Both files in the project, regardless of wherethey are located in the user's directory structure, use that same object for content.If one of those files changes, Git computes a new SHA1 for it, determines that it is nowa different blob object, and adds the new blob to the object store. The original blobremains in the object store for the unchanged file to use.Second, Git's internal database efficiently stores every version of every file——not theirdifferences——as files go from one revision to the next. Because Git uses the hash of afile's complete content as the name for that file, it must operate on each complete copyof the file. It cannot base its work or its object store entries on only part of the file'scontent, nor on the differences between two revisions of that file.
媒體關注與評論
這是一本應該隨身攜帶的書。 ——Don Marti 編輯、記者以及會議主席
編輯推薦
《Git版本控制管理(影印版)》你將會:學習如何在多種真實開發(fā)環(huán)境中使用Git洞察Git的常用案例、初始任務和基本功能理解如何在集中和分布式版本控制中使用Git使用Git管理補丁、差異、合并和沖突獲得諸如重新定義分支(rebasing)、鉤子(hook)以及處理子模塊(子項目)等的高級技巧學習如何結合使用Git與subversion
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載