Nothing Special   »   [go: up one dir, main page]

skip to main content
Skip header Section
Pro GitDecember 2014
Publisher:
  • Apress
  • 901 Grayson Street Suite 204 Berkely, CA
  • United States
ISBN:978-1-4842-0077-3
Published:24 December 2014
Pages:
456
Skip Bibliometrics Section
Reflects downloads up to 15 Feb 2025Bibliometrics
Skip Abstract Section
Abstract

Pro Git (Second Edition) is your fully-updated guide to Git and its usage in the modern world. Git has come a long way since it was first developed by Linus Torvalds for Linux kernel development. It has taken the open source world by storm since its inception in 2005, and this book teaches you how to use it like a pro. Effective and well-implemented version control is a necessity for successful web projects, whether large or small. With this book youll learn how to master the world of distributed version workflow, use the distributed features of Git to the full, and extend Git to meet your every need. Written by Git pros Scott Chacon and Ben Straub, Pro Git (Second Edition) builds on the hugely successful first edition, and is now fully updated for Git version 2.0, as well as including an indispensable chapter on GitHub. Its the best book for all your Git needs. What youll learn Effectively use Git, either as a programmer or a project leader Become a fluent Git user Master branching, using Git on the server, and on other systems Integrate Git in your development workflow Migrate programming projects from other SCMs to Git Extend Git for your personal project needs Effectively use GitHub Who this book is for This book is for all open source developers: you are bound to encounter Git somewhere in the course of your working life. Proprietary software developers will appreciate Gits enormous scalability, since it is used for the Linux project, which comprises thousands of developers and testers.

Cited By

  1. ACM
    Lavoie E Designing Peer-to-Peer Systems as Closed Knowledge Commons Proceedings of the 4th International Workshop on Distributed Infrastructure for the Common Good, (1-6)
  2. ACM
    Cunha M, Accioly P and Borba P The Private Life of Merge Conflicts Proceedings of the XXXVI Brazilian Symposium on Software Engineering, (353-362)
  3. ACM
    Yang W, Zhang C, Pan M, Xu C, Zhou Y and Huang Z (2022). Do Developers Really Know How to Use Git Commands? A Large-scale Study Using Stack Overflow, ACM Transactions on Software Engineering and Methodology, 31:3, (1-29), Online publication date: 31-Jul-2022.
  4. Kleppmann M, Mulligan D, Gomes V and Beresford A (2022). A Highly-Available Move Operation for Replicated Trees, IEEE Transactions on Parallel and Distributed Systems, 33:7, (1711-1724), Online publication date: 1-Jul-2022.
  5. ACM
    Coelho F, Tsantalis N, Massoni T and Alves E An Empirical Study on Refactoring-Inducing Pull Requests Proceedings of the 15th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), (1-12)
  6. ACM
    Gonçalves S, Soares D and Silva D Temporal analysis on pull request patterns: an approach with sliding window Proceedings of the 15th Brazilian Symposium on Software Components, Architectures, and Reuse, (90-99)
  7. de Lima Júnior M, Soares D, Plastino A and Murta L (2021). Predicting the lifetime of pull requests in open‐source projects, Journal of Software: Evolution and Process, 33:6, Online publication date: 1-Jun-2021.
  8. Hata H, Kula R, Ishio T and Treude C Same File, Different Changes Proceedings of the 43rd International Conference on Software Engineering, (773-784)
  9. Eloe N (2021). Teach like a git, Journal of Computing Sciences in Colleges, 36:6, (27-36), Online publication date: 1-Apr-2021.
  10. ACM
    de Mendonça W, Costa P, Cançado E, Lima F, Canedo E, Bonifácio R and Amaral L From Dusk till Dawn Proceedings of the XXXIV Brazilian Symposium on Software Engineering, (596-605)
  11. ACM
    Eraslan S, Ríos J, Kopec-Harding K, Embury S, Jay C, Page C and Haines R Errors and Poor Practices of Software Engineering Students in Using Git Proceedings of the 4th Conference on Computing Education Practice, (1-4)
  12. Cai Y and Tsai M Improving Programming Education Quality with Automatic Grading System Innovative Technologies and Learning, (207-215)
  13. ACM
    Tan X and Zhou M (2019). How to Communicate when Submitting Patches, Proceedings of the ACM on Human-Computer Interaction, 3:CSCW, (1-26), Online publication date: 7-Nov-2019.
  14. ACM
    Kleppmann M, Wiggins A, van Hardenberg P and McGranaghan M Local-first software: you own your data, in spite of the cloud Proceedings of the 2019 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, (154-178)
  15. German D, Adams B and Stewart K (2019). cregit, Empirical Software Engineering, 24:4, (2725-2763), Online publication date: 1-Aug-2019.
  16. Ma Y, Bogart C, Amreen S, Zaretzki R and Mockus A World of code Proceedings of the 16th International Conference on Mining Software Repositories, (143-154)
  17. ACM
    Kery M, John B, O'Flaherty P, Horvath A and Myers B Towards Effective Foraging by Data Scientists to Find Past Analysis Choices Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems, (1-13)
  18. Alexandru C, Panichella S, Proksch S and Gall H (2019). Redundancy-free analysis of multi-revision software artifacts, Empirical Software Engineering, 24:1, (332-380), Online publication date: 1-Feb-2019.
  19. ACM
    Motara Y Development of an LCT-Based MOOC Taxonomy Proceedings of the 7th Computer Science Education Research Conference, (35-43)
  20. ACM
    Kröher C, Gerling L and Schmid K Identifying the intensity of variability changes in software product line evolution Proceedings of the 22nd International Systems and Software Product Line Conference - Volume 1, (54-64)
  21. ACM
    Arima R, Higo Y and Kusumoto S A study on inappropriately partitioned commits Proceedings of the 15th International Conference on Mining Software Repositories, (336-340)
  22. ACM
    Alfayez R, Behnamghader P, Srisopha K and Boehm B An exploratory study on the influence of developers in technical debt Proceedings of the 2018 International Conference on Technical Debt, (1-10)
  23. Debreceni C, Bergmann G, Ráth I and Varró D Property-based locking in collaborative modeling Proceedings of the ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems, (199-209)
  24. Fouladi S, Wahby R, Shacklett B, Balasubramaniam K, Zeng W, Bhalerao R, Sivaraman A, Porter G and Winstein K Encoding, fast and slow Proceedings of the 14th USENIX Conference on Networked Systems Design and Implementation, (363-376)
  25. Dou X, Chen P and Flinn J Knockoff Proceedings of the 15th Usenix Conference on File and Storage Technologies, (73-87)
  26. ACM
    De Rosso S and Jackson D (2016). Purposes, concepts, misfits, and a redesign of git, ACM SIGPLAN Notices, 51:10, (292-310), Online publication date: 5-Dec-2016.
  27. ACM
    Rayana R, Killian S, Trangez N and Calmettes A GitWaterFlow: a successful branching model and tooling, for achieving continuous delivery with multiple version branches Proceedings of the 4th International Workshop on Release Engineering, (17-20)
  28. ACM
    De Rosso S and Jackson D Purposes, concepts, misfits, and a redesign of git Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, (292-310)
  29. ACM
    Rabiser D, Grünbacher P, Prähofer H and Angerer F A prototype-based approach for managing clones in clone-and-own product lines Proceedings of the 20th International Systems and Software Product Line Conference, (35-44)
  30. ACM
    Müller C, Reina G and Ertl T In-Situ Visualisation of Fractional Code Ownership over Time Proceedings of the 8th International Symposium on Visual Information Communication and Interaction, (13-20)
  31. ACM
    Lettner D and Grünbacher P Using Feature Feeds to Improve Developer Awareness in Software Ecosystem Evolution Proceedings of the 9th International Workshop on Variability Modelling of Software-Intensive Systems, (11-18)
  32. Bleiel N Collaborating in GitHub 2016 IEEE International Professional Communication Conference (IPCC), (1-3)
Contributors

Reviews

Diomidis Spinellis

As is the case with the operas of certain composers, the Git software configuration management system is an acquired taste. Its command names are confusing, its interface is inconsistent, and its documentation is often terse and cryptic. However, Git is also extremely powerful, efficient, and responsive. All that's needed to appreciate Git's beauty is a book that, like a good opera companion, provides a gentle introduction, while also highlighting the work's best parts. Pro Git , now in its second edition, succeeds in this difficult task with gusto. The book covers all that's required to work with Git: setting up a repository, branching, managing servers, working in teams, utilizing the GitHub repository service, advanced operations, customization, and working with other version management systems. The writers seem to assume some basic familiarity with the concept of software configuration management (or version control) systems because they approach the subject from the viewpoint of a Git user, rather than introducing readers to the idea of tracking software changes. The writing is clear, and numerous detailed (though somewhat grainy) images are used illustrate complex workflow and branching concepts. The tone of the text is always authoritative, which is not surprising, given that the book's two authors are intimately associated with Git: Scott Chacon is a cofounder and CIO of GitHub, and Ben Straub is a longtime contributor to libgit2, the portable C implementation of Git's core methods. Both beginners and seasoned users will benefit from this book. Although I've been using Git daily for more than three years, I learned many new things by reading the book. Here is a (long) list of the most valuable ones: you can use git diff to see what you're about to commit; git diff to verify you haven't introduced any whitespace errors; git add -i to launch an interactive staging interface; git commit amend with a modified staging area to change a commit's contents; git rerere to reuse a past conflict resolution; git archive to produce a tar or zip snapshot; git grep to search through the working tree's files; git log -S to search for code changed in commits; and git log -L to see how a function was changed. I also appreciated the lucid explanation of the git reset and git bisect commands, and the details given regarding how credentials are stored. The chapter covering the GitHub repository service, which is new to this edition, contains al of the information needed to use Git with it. Some things I learned from it were the use of task lists, how to enter emojis (smiley ideograms) in messages, and the special CONTRIBUTING file, which allows you to display instructions for contributing to a project when users initiate a pull request. If you use Git, you can save yourself a lot of anguish, misery, and uncertainty by reading this book. Even better, you can boost your productivity as a developer in ways that are only possible with Git. More reviews about this item: Amazon Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Please enable JavaScript to view thecomments powered by Disqus.

Recommendations