Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Git for Programmers
Git for Programmers

Git for Programmers: Master Git for effective implementation of version control for your programming projects

eBook
$38.99 $43.99
Paperback
$54.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

Git for Programmers

Introduction

In this chapter, we will cover the following topics:

  • A very brief history of version control and Git
  • Getting and setting up Visual Studio 2019, GitHub Desktop, and your terminal
  • Getting and installing Git
  • Configuring Git for Visual Studio, GitHub Desktop, and GitHub at the command line

Let's get started!

About this book

"Begin at the beginning," the King said gravely, "and go on till you come to the end, then stop." – Alice in Wonderland

In this book, we will cover Git from the very beginning all the way through to advanced topics. No experience with Git is expected. Though if you have been using Git, you'll probably want to skim the initial chapters. Git is arguably the most popular version control system in the world, but this raises the question: "What is version control?"

Version control

Before version control, I would code a bit and then when I became afraid of losing that code, I would make a backup of my directory. This is slow, inefficient, takes up a lot of disk space, and is very hard to share with others.

A Version Control System (VCS) does all this work for you (and more) and does so in a way that is fast, efficient, and takes up a minimum of disk space. One of the fastest and most efficient is Git, although there are others. This book will not spend a lot of time convincing you that Git is better than the others. First, the market has spoken, and Git prevails. Second, if you've purchased this book, you've already decided. And if you haven't already purchased this book, go do so. I'll wait here.

About the code examples

In order to demonstrate the use of Git, we need to have a small program that we can evolve. The code examples are given in C#, but they are so simple that you'll be able to follow them regardless of your experience with the language. For example, if you can figure out what this does, you're all set.

public class Program
{
    public void PrintHello()
    {
        Console.WriteLine("Hello World!");
    }
}

This code declares a class (don't worry about what that is) named Program. Inside that class is a method (function) called PrintHello that prints Hello World to the console (your screen).

This is about as complex as it gets, and I'll explain each code snippet as we go.

Just a brief history

In July of 2005, after just a few month's work, Linus Torvalds, the genius behind Linux, released Git to meet his own needs, the needs of the Linux community, and eventually, the rest of us. The goal of Git was to be fast and efficient. It succeeded.

While most VCSes at the time were centralized (all the files were kept on a big server), Git uses a distributed system, in which everyone has their own repository. Technically, no central server is required for Git, although if you are working in a team, a central place for sharing code is convenient. But the huge difference is that with Git, the vast majority of your interactions with the VCS are local – right there on your disk.

Tools for working with Git

There are a number of easily confused terms (such as Git versus GitHub) and there are many tools for working with Git – from the command line to Graphical User Interface (GUI) tools. This section will review some of these options.

GitHub, et al.

There are many services that allow you to create shared "repositories" (the location of all the versions of your program). The most famous and popular are GitHub and Microsoft's Azure, as well as BitBucket and GitLab. Azure is a very powerful system for DevOps, while GitHub is a very straightforward way to host your program. We'll be using GitHub in this book. (Recently, Microsoft acquired GitHub for $7.5 billion in stock – and made a huge commitment to GitHub, open source and, of course, to Git.)

Key point: Git is the system we're covering in this book. GitHub is a central repository system for sharing code (we'll make this more specific later in the...

Getting Git

The very first thing you need to do is to install Git on your computer. The official Git site states that "even if Git is already installed on your computer, it is probably a good idea to reinstall to update to the latest version."

Getting Git on Windows

There are also a few ways in which to install Git on Windows. I recommend using the official build. The most recent one is available from the Git website: https://git-scm.com/download/win.

Another way to get Git, and to kill two birds with one stone, is to download and install GitHub Desktop. The installer will also install a command-line version of Git. You can get it at https://desktop.github.com/:

Figure 1.6: Obtaining GitHub Desktop

This book will show its demonstrations on Windows 10, using Git version 2.30.0.windows.2, but the examples should work with just about any version of Git.

Getting Git on a Mac

There are several ways to install Git on a Mac. The easiest is probably...

Configuring Git – the command line

We'll look at configuring Git to personalize throughout this book, but for now, let's add your name and email address so that every entry into Git is stamped appropriately. Enter the command-line command:

git config --global --edit

This will bring up your editor. Find or create the [user] section and add the following:

[user]
name = Jesse Liberty
email = jesseliberty@gmail.com

You will probably want to use your own name and email address.

There are other entries in the config file. Ignore them for now and save and close the file.

Configuring Git – Visual Studio

In Visual Studio for Windows, click on the Git menu and a dialog box will open. On the first tab, enter your username and email address:

Figure 1.8: Setting Git options in Visual Studio

Configuring Git – GitHub Desktop

To configure GitHub Desktop, you'll need an account on GitHub. We'll cover that in the next chapter. Once you do have an account, go to File | Options, select the Accounts tab, and then click on Sign in:

Figure 1.9: Setting up GitHub Desktop

Summary

In this chapter you saw an introduction to the book, listing what is in each chapter. You also saw a quick history of version control and of Git itself.

Next, we took a look at downloading the environments you'll need to follow along: Visual Studio 2019, GitHub Desktop, and PowerShell as your command line. All of these can be obtained for free.

Once the software was downloaded, we looked at how to set up Git, and how to set up the tools we'll be using.

Left arrow icon Right arrow icon

Key benefits

  • Master Git and maintain your projects better through version control
  • Get to grips with Git’s typical workflows, advanced functions, and their implementations
  • Learn the key Git commands to better manage your repository

Description

Whether you’re looking for a book to deepen your understanding of Git or a refresher, this book is the ultimate guide to Git. Git for Programmers comprehensively equips you with actionable insights on advanced Git concepts in an engaging and straightforward way. As you progress through the chapters, you’ll gain expertise (and confidence) on Git with lots of practical use cases. After a quick refresher on git history and installation, you’ll dive straight into the creation and cloning of your repository. You’ll explore Git places, branching, and GUIs to get familiar with the fundamentals. Then you’ll learn how to handle merge conflicts, rebase, amend, interactive rebase, and use the log, as well as explore important Git commands for managing your repository. The troubleshooting part of this Git book will include detailed instructions on how to bisect, blame, and several other problem handling techniques that will complete your newly acquired Git arsenal. By the end of this book, you’ll be using Git with confidence. Saving, sharing, managing files as well as undoing mistakes and basically rewriting history will be a breeze.

Who is this book for?

If you have basic understanding of Git and want to strengthen your command over advanced techniques and navigate different functions, this book is for you. Knowing the fundamentals of Git will help you get the most out of this book, but beginners willing to invest some extra effort will be able to follow along as well.

What you will learn

  • Create remote and local repositories and learn how to clone them
  • Understand the difference between local and remote repositories
  • Use, manage, and merge branches back into the main branch
  • Utilize tools to manage merge conflicts
  • Manage commits on your local machine through interactive rebasing
  • Use the log to gain control over all the data in your repository
  • Use bisect, blame, and other tools to undo Git mistakes

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Jun 30, 2021
Length: 264 pages
Edition : 1st
Language : English
ISBN-13 : 9781801076036
Concepts :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Jun 30, 2021
Length: 264 pages
Edition : 1st
Language : English
ISBN-13 : 9781801076036
Concepts :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 183.97
Expert Python Programming – Fourth Edition
$48.99
Git for Programmers
$54.99
C# 10 and .NET 6 – Modern Cross-Platform Development
$79.99
Total $ 183.97 Stars icon

Table of Contents

15 Chapters
Introduction Chevron down icon Chevron up icon
Creating Your Repository Chevron down icon Chevron up icon
Branching, Places, and GUIs Chevron down icon Chevron up icon
Merging, Pull Requests, and Handling Merge Conflicts Chevron down icon Chevron up icon
Rebasing, Amend, and Cherry-Picking Chevron down icon Chevron up icon
Interactive Rebasing Chevron down icon Chevron up icon
Workflow, Notes, and Tags Chevron down icon Chevron up icon
Aliases Chevron down icon Chevron up icon
Using the Log Chevron down icon Chevron up icon
Important Git Commands and Metadata Chevron down icon Chevron up icon
Finding a Broken Commit: Bisect and Blame Chevron down icon Chevron up icon
Fixing Mistakes Chevron down icon Chevron up icon
Next Steps Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.1
(13 Ratings)
5 star 46.2%
4 star 38.5%
3 star 0%
2 star 7.7%
1 star 7.7%
Filter icon Filter
Top Reviews

Filter reviews by




Matthew Emerick Jul 13, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
The media could not be loaded. This is a great book for any developer. It's especially important for university students before they begin their career or those who have recently graduated. It covers everything from setting up Git to more advanced topics. A more detailed review can be found in the video.
Amazon Verified review Amazon
Ricardo Jorge Melo Jóia Oct 07, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Either you're a seasoned developer or just starting, git is already or will become one of the most used tools in your toolbox. Jesse's book is a cookbook with the most used commands that you might need and the "infamous" git rebase.The examples are clear and relatable to real world problems and they are shown using both the terminal and git integrations such as git for visual studio and github desktop! Either you use Windows, Linux or Mac, Jesse has your back! Examples on how to get it installed and running are provided.This book guides you through creating a repo, branching strategies, merging, pull requests and how to handle merge conflicts, how to amend commits, rebasing mentioned above and cherry-picking which you might and probably will need at some point.Jesse provides in his book plenty of other tips and tricks to make you a git ninja, deffo a book to have in your collection.
Amazon Verified review Amazon
dr t Aug 08, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Git is the most popular version control system in the world but, as the book says, it is complex.This book aims to demystify the workings of Git for programmers of all skill levels. As such, chapter one serves as an on-point, excellent, introduction that does a fantastic job of enthusing the reader for the journey ahead.One of the many good things about the book is that it very quickly gets the reader going with hands-on using Git; creating repos, pulling, pushing etc. Another good thing is that the book also shows how to perform Git tasks using the command line, GitHub Desktop and Visual Studio.The book is well-written, flows well and covers the basic aspects of Git but also goes into advanced topics such as blame, stash and rebase. Unlike other books this book doesn’t go on and on for the sake of improving the page count, it is only 265 pages long, but this is good because the authors concentrate on disseminating the important elements of Git to the reader as quickly as possible. There are are also challenges at the end of each chapter which allows readers to practice what they learnt. The final chapter “Fixing Mistakes” is especially useful and I can imagine will be welcomed by many.In summary, even if you already work with Git, I would still say get this book! Highly, highly recommended and a must-have for programmers of all skill levels.
Amazon Verified review Amazon
Justin Horner Aug 05, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
As a fan of works by Jesse Liberty, I was stoked to find out about this new book. Git is essential to our practice as software engineers, and I believe everyone can learn something from this book, regardless of how much or little you've used Git prior.You'll go from creating a repository and cloning it from GitHub to branching, merging, stashing changes, rebasing, cherry-picking, and so much more. You'll also learn to add notes, tags, and various ways to view commits via log.Typically, you would expect Git topics to be taught solely from the command-line, but Jesse went the extra mile to include how to work with Git via command-line, Visual Studio 2019, and GitHub Desktop! The book ends with a large section dedicated to fixing common mistakes, which I'm sure I will keep handy for if (I mean when) these mistakes occur.Here are a few chapter highlights.- Rebasing, Amend, and Cherry-Picking- Workflow, Notes, and Tags- Using the Log- Finding a Broken Commit: Bisect and Blame- Fixing Mistakes
Amazon Verified review Amazon
hawkinflight Jul 15, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
The media could not be loaded. I have used git in a team environment for about a year. I found this book very helpful. I am glad I discovered it. The topics covered are great, and are presented very well. The book is not very long, which means it focuses on the basics, and doesn't include a lot of distracting fluff. The author presents the material as though he is a very helpful, friendly, humble, collaborative co-worker. There are Challenges at the end of each chapter, with answers, which provide hands-on practice. Near the end of the book, there is a short, effective chapter on How To Fix Errors, such as, "committed to the wrong branch". I like the chapter on Workflow, and the inclusion in the book of Best Practices for Making Commits and How to Avoid Merge Conflicts. The author is an experienced git user and knows what the reader needs to learn. I like the book a lot and highly recommend it.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.