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 you’ll 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. It’s the best book for all your Git needs.
Get Advanced With Git! If you're involved with software development, chances are you've heard of and used Git at some point. Version control systems are critical for any successful collaborative software project. Git is simple to start using, while accommodating the most complex tasks with version control. However, even seasoned Git users hit roadblocks on how to handle everyday situations. Advanced Git is here to help! This book begins where the other Git book in our catalog, "Git Apprentice", ends. Who This Book Is For This book is for anyone who wants to leverage version control's power with Git in their software development process. It starts with a look under Git's hood, then moves on to more complicated scenarios including merge conflicts, rebasing and more. Finally, you'll learn common workflows using Git. Topics Covered in Advanced Git How Git actually works: After using Git for a while, it's good to discover the whys behind all the things. Rebasing: A more advanced way of merging code and collaborating. Merge Conflicts & Undo: You'll eventually run into problems while using Git. Find out how to handle them with ease. Workflows in Git: Working with Git requires some rules to ensure things go smoothly across development teams. Learn the most common workflows and how to decide which to use for your project. One thing you can count on: After reading this book, you'll be well-prepared to use Git in your software development workflow!
Summary Git in Practice is a collection of 66 tested techniques that will optimize the way you and your team manage your development projects. The book begins with a brief reminder of the core version control concepts you need when using Git and moves on to the high-value features you may not have explored yet. Then, you'll dig into cookbook-style techniques like history visualization, advanced branching and rewriting history each presented in a problem-solution-discussion format. Finally you'll work out how to use Git to its full potential through configuration, team workflows, submodules and using GitHub pull requests effectively. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Git is a source control system, but it's a lot more than just that. For teams working in today's agile, continuous delivery environments, Git is a strategic advantage. Built with a decentralized structure that's perfect for a distributed team, Git manages branching, committing, complex merges, and task switching with minimal ceremony so you can concentrate on your code. About the Book Git in Practice is a collection of battle-tested techniques designed to optimize the way you and your team manage development projects. After a brief overview of Git's core features, this practical guide moves quickly to high-value topics like history visualization, advanced branching and rewriting, optimized configuration, team workflows, submodules, and how to use GitHub pull requests. Written in an easy-to-follow Problem/Solution/Discussion format with numerous diagrams and examples, it skips the theory and gets right to the nitty-gritty tasks that will transform the way you work. Written for developers familiar with version control and ready for the good stuff in Git. What's Inside Team interaction strategies and techniques Replacing bad habits with good practices Juggling complex configurations Rewriting history and disaster recovery About the Author Mike McQuaid is a software engineer at GitHub. He's contributed to Qt and the Linux kernel, and he maintains the Git-based Homebrew project. Table of Contents PART 1 INTRODUCTION TO GIT Local Git Remote Git PART 2 GIT ESSENTIALS Filesystem interactions History visualization Advanced branching Rewriting history and disaster recovery PART 3 ADVANCED GIT Personalizing Git Vendoring dependencies as submodules Working with Subversion GitHub pull requests Hosting a repository PART 4 GIT BEST PRACTICES Creating a clean history Merging vs. rebasing Recommended team workflows
Get up to speed on Git for tracking, branching, merging, and managing code revisions. Through a series of step-by-step tutorials, this practical guide takes you quickly from Git fundamentals to advanced techniques, and provides friendly yet rigorous advice for navigating the many functions of this open source version control system. This thoroughly revised edition also includes tips for manipulating trees, extended coverage of the reflog and stash, and a complete introduction to the GitHub repository. Git lets you manage code development in a virtually endless variety of ways, once you understand how to harness the system’s flexibility. This book shows you how. Learn how to use Git for several real-world development scenarios Gain insight into Git’s common-use cases, initial tasks, and basic functions Use the system for both centralized and distributed version control Learn how to manage merges, conflicts, patches, and diffs Apply advanced techniques such as rebasing, hooks, and ways to handle submodules Interact with Subversion (SVN) repositories—including SVN to Git conversions Navigate, use, and contribute to open source projects though GitHub
Learn Git via Tutorials!Chances are, if you're involved with software development, you've heard of and have used Git at some point in your life. Version control systems are critical for any successful collaborative software project. Git is simple to start using while still accommodating the most complex tasks with version control. However, even seasoned Git users hit roadblocks on how to handle everyday situations.Git Apprentice is here to help! This book is the easiest and fastest way to get hands-on experience using Git to handle version control in your projects.Who This Book Is ForThis book is for anyone who wants to leverage version control's power with Git in their software development process. It starts with a gentle introduction, then moves on to more complex topics including branching, merging and stashing changes.Topics Covered in Git ApprenticeCrash course in Git: Covers the Git basics that every software artisan should know. Understand how to set up Git, committing, ignoring files and more.Branching: The real power in Git comes from its branching and merging model, which allows you to work on multiple things simultaneously.Syncing with a Remote: You've created code, now you'll learn how to share it with others.Merging: The whole point of Git is collaboration. Merging, or taking in, changes from others is a fundamental concept to put into practice.One thing you can count on: After reading this book, you'll be well-prepared to use Git in your software development project!
Learn the fundamentals of version control through step-by-step tutorials that will teach you the ins-and-outs of Git. This book is your complete guide to how Git and GitHub work in a professional team environment. Divided into three parts – Version Control, Project Management and Teamwork – this book reveals what waits for you in the real world and how to resolve the problems you may run into. Once past the basics of Git, you'll see how to manage a software project, and finally how to utilize Git and GithHub to work effectively as a team. You'll examine how to plan, follow and execute a project with GitHub, and then apply those concepts to real-world situations. Workaround the pitfalls that most programmers fall into when driving a project with Git by using proven tactics to avoid them. You will also be taught the easiest and quickest ways to resolve merge conflicts. A lot of modern books on Git don’t go into depth about non-technical topics. Beginning Git and GitHub will help you cover all the bases right at the start of your career. What You'll Learn Review basic and advanced concepts of GitApply Project Management skills using GitHub Solve conflicts or, ideally, avoid them altogetherUse advanced concepts for a more boosted workflow Who This book Is For New developers, developers that have never worked in a team environment before, developers with basic knowledge of Git or GitHub, or anyone who works with text documents.
Git is the version control system developed by Linus Torvalds for Linux kernel development. It took the open source world by storm since its inception in 2005, and is used by small development shops and giants like Google, Red Hat, and IBM, and of course many open source projects. A book by Git experts to turn you into a Git expert Introduces the world of distributed version control Shows how to build a Git development workflow
Attain expert-level proficiency with Git for enhanced productivity and efficient collaboration by mastering advanced distributed version control features About This Book Set up Git for solo and collaborative development Harness the full power of Git version control system to customize Git behavior, manipulate history, integrate external tools and explore platform shortcuts A detailed guide, which explains how to apply advanced Git techniques and workflows and ways to handle submodules Who This Book Is For If you are a Git user with reasonable knowledge of Git and familiarity with basic concepts such as branching, merging, staging, and workflows, this is the book for you. Basic knowledge of installing Git and software configuration management concepts is essential. What You Will Learn Explore project history, find revisions using different criteria, and filter and format how history looks Manage your working directory and staging area for commits and interactively create new revisions and amend them Set up repositories and branches for collaboration Submit your own contributions and integrate contributions from other developers via merging or rebasing Customize Git behavior system-wide, on a per-user, per-repository, and per-file basis Take up the administration and set up of Git repositories, configure access, find and recover from repository errors, and perform repository maintenance Chose a workflow and configure and set up support for the chosen workflow In Detail Git is one of the most popular types of Source Code Management (SCM) and Distributed Version Control System (DVCS). Despite the powerful and versatile nature of the tool enveloping strong support for nonlinear development and the ability to handle large projects efficiently, it is a complex tool and often regarded as “user-unfriendly”. Getting to know the ideas and concepts behind the architecture of Git will help you make full use of its power and understand its behavior. Learning the best practices and recommended workflows should help you to avoid problems and ensure trouble-free development. The book scope is meticulously designed to help you gain deeper insights into Git's architecture, its underlying concepts, behavior, and best practices. Mastering Git starts with a quick implementation example of using Git for a collaborative development of a sample project to establish the foundation knowledge of Git operational tasks and concepts. Furthermore, as you progress through the book, the tutorials provide detailed descriptions of various areas of usage: from archaeology, through managing your own work, to working with other developers. This book also helps augment your understanding to examine and explore project history, create and manage your contributions, set up repositories and branches for collaboration in centralized and distributed version control, integrate work from other developers, customize and extend Git, and recover from repository errors. By exploring advanced Git practices, you will attain a deeper understanding of Git's behavior, allowing you to customize and extend existing recipes and write your own. Style and approach Step-by-step instructions and useful information make this book the ultimate guide to understanding and mastering Git. This book will show road to mastery example by example, while explaining mental model of Git. The Introduction section covers the 'Essentials' just for refreshing the basics. The main highlight is that the concepts are based on HOW the technology/framework works and not just practical 'WHAT to do'.
Get a Jump Start on version control with Git today! If you've worked on a web development project of any size, you've probably used Git, the most broadly adopted distributed version control system available. It enables you to store different versions of project files and directories, so you can roll back to an earlier one if something goes wrong. And since it's distributed, it smoothes the path for dev team collaboration. This short, practical book will help you to: Understand Git's core philosophy. Get started with Git: install it, learn the basic commands, and set up your first project. Work with Git as part of a collaborative team. Use Git's debugging tools for maximum debug efficiency. Master Git workflow Take control with Git's advanced features: reflog, rebase, stash, and more. Use Git with cloud-based Git repository host services like Github and Bitbucket. See how Git's used effectively on large open-source projects. Whether you're a Git newbie or you've been using it for some time but only really scratching the surface of its capabilities, this book will help you to gain a deep understanding of how Git works, and how to use it to streamline your workflow.
If you are a software developer with little or no experience of versioning systems, or are familiar with other centralized versioning systems, then this book is for you. If you have some experience working with command lines or using Linux admin or just using Unix and want to know more about Git, then this book is ideal for you.