Zum Inhalt

Beginning Git and GitHub

A Comprehensive Guide to Version Control, Project Management, and Teamwork for the New Developer

  • 2020
  • Buch
insite
SUCHEN

Über dieses Buch

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.

Inhaltsverzeichnis

Frontmatter

Version Control with Git

Frontmatter
Chapter 1. Version Control Systems
Abstract
This is our first jump into Version Control Systems (VCSs). By the end of this chapter, you should know about Version Control, Git, and its history. The main objective is to know in which situations is Version Control needed and why Git is a safe choice.
Mariot Tsitoara
Chapter 2. Installation and Setup
Abstract
Now that you how what is Version Control and how Git works, we are going to learn how to install and set it up. This chapter is shorter compared to the others because it is so easy to set Git up.
Mariot Tsitoara
Chapter 3. Getting Started
Abstract
You’re finally ready to get started with Git! In this chapter, you’ll be learning a few Git terminologies and concepts necessary for any project. Then, you’ll be tasked to set up a project, make changes to it, review the changes, and finally navigate between versions. Let’s go!
Mariot Tsitoara
Chapter 4. Diving into Git
Abstract
Now that you are familiar with the basic commands of Git, we are diving deeper into the other features it has. You will discover in this chapter the features that I promised you in Chapter 1.
Mariot Tsitoara
Chapter 5. Commits
Abstract
The previous chapter taught you a little bit about the essential features of Git. You should know how to check the history log and see the changes made to the current version. But Git commits are a tough bone to bite, so we are going to talk about them more in this chapter. First, we will explore (again) the inner working of Git and its terminology. Then, we’ll learn how to view and check previous versions. Let’s go!
Mariot Tsitoara
Chapter 6. Git Best Practices
Abstract
The previous chapter was one of the most important ones in this book. Make sure to come back to it every time you have doubts about commits. After reading it, you should be able to make, review, and amend project snapshots without any problems. Now that you know the basic features of Git, it’s time for you to learn the best practices to make your life (and your teammates’) easier. These are the stuff that I wish I knew when I first used Git. We’ll cover commit messages, the dos and don’ts of Git, and a list of the most common mistakes beginners do. Then we’ll finish with a little reminder of how Git works.
Mariot Tsitoara
Chapter 7. Remote Git
Abstract
Congratulations on completing the first part of this book! Now, the fun begins. The first part taught you the basic features of Git. You should be comfortable at making change and tracking them with Git. Writing meaningful commit messages is a little bit hard, but you will get better with each commit if you follow the last chapter’s advices. You should also be able to peek at a previous version and view the history logs; those are very important features needed for all further chapters.
Mariot Tsitoara

Project Management with GitHub

Frontmatter
Chapter 8. GitHub Primer
Abstract
In the last chapter, we did an initial discovery of remote repositories and why they are important. You should have a basic understanding of how they work too and, most importantly, what are the benefits of using one. Now, we are going to talk about the most famous of code hosting platforms: GitHub.
Mariot Tsitoara
Chapter 9. Quick Start with GitHub
Abstract
So far, we only talked about what is GitHub and who needs it. Now, we are going to see what it can do exactly and what its main features are. The most important features of GitHub are its Project Management tools; combined with the right development workflow, it is a sure way to get a project moving.
Mariot Tsitoara
Chapter 10. Beginning Project Management: Issues
Abstract
Last chapter, we did a quick peek at using GitHub to host and share our code. But that doesn’t even begin to describe what GitHub can do for you; there are so many features that can help your project mature. In this chapter, we are going to begin to learn about how to manage projects with GitHub. Thus, we are going to begin with the basic form of GitHub project management: Issues.
Mariot Tsitoara
Chapter 11. Diving into Project Management: Branches
Abstract
Last chapter, we discovered Issues and used them to plan our project. We also learned how to link our commits to issues, so that we can follow each change in our project. Our way of work was simple: choose an issue, make a commit that can resolve it, and push to GitHub. The issue was then resolved and closed. But this way of work is not very adapted in most real-world projects; the potential of screw-ups is too high.
Mariot Tsitoara
Chapter 12. Better Project Management: Pull Requests
Abstract
In the last chapter, we learn about the typical GitHub workflow; the majority of companies use a variation of this workflow for their day-to-day work. We also learned a lot about branches and how to use them. But there is one thing we didn’t get a chance to review: how to combine those two concepts. The answer is simple: Pull Requests and Code Reviews.
Mariot Tsitoara

Teamwork with Git

Frontmatter
Chapter 13. Conflicts
Abstract
The last chapter introduced us to the wonderful world of Merge Requests. You should know what their use is and why it is a good idea to use them. Even if they are a fairly simple concept to grasp, they also come with some shortcomings that are hard to ignore.
Mariot Tsitoara
Chapter 14. More About Conflicts
Abstract
Last chapter was intense, wasn’t it? We talked about what are merge conflicts and when would they happen. We also saw how to resolve them manually. Don’t worry, this chapter will be much easier to digest. We are going to talk about how to get push your branch to remote after a merge conflict. Also, we are going to see some strategies to adopt to reduce the number of conflicts that might happen. Let’s go!
Mariot Tsitoara
Chapter 15. Git GUI Tools
Abstract
In the earlier chapters, we’ve seen a lot of the most important Git features and concepts. We’ve learned about commits, branches, pull requests, and merging. Using those concepts, you can already accomplish almost anything in Git. Only one small problem, though: we’ve only used the Terminal or Console window. In this chapter, you won’t learn any new concept or feature; you will just learn how to apply what you already know with style
Mariot Tsitoara
Chapter 16. Advanced Git
Abstract
Last chapter, we learned how to do the basic Git features in a graphical context. Now, let’s see some more Git commands that you won’t be using as much as the others, but are powerful and necessary for a better productivity. Those are very easy-to-learn commands that will be useful to you if you ever made a mistake using Git.
Mariot Tsitoara

Additional Resources

Frontmatter
Chapter 17. More with GitHub
Abstract
We’ve seen almost every Git feature that you will use daily in the previous chapters. Now, let’s turn our eyes to GitHub, which only served as a code hosting site until now. But we’ve already established that GitHub is so much more than that. You can use it to host documentation for your project and host software releases. You will also mainly use it as project management tool and a way to connect to your collaborators. Let’s learn about those features.
Mariot Tsitoara
Chapter 18. Common Git Problems
Abstract
We’ve come a long way since our first Git command! We’ve learned a lot about basic and advanced Git features and when to use them. But since we are only humans, we’re going to face a lot of problems during our Git journey. Most of these problems are the result of inadvertences, so just being aware of their existence is a big step forward toward avoiding them. But if you still run into them, here are the best solutions!
Mariot Tsitoara
Chapter 19. Git and GitHub Workflow
Abstract
We’ve learned a whole lot in the last chapters, especially on the technical aspects of Git. You now know how to properly version your project and how to deal with eventual problems. We also looked a lot into the basics of project management with GitHub.
Mariot Tsitoara
Backmatter
Titel
Beginning Git and GitHub
Verfasst von
Mariot Tsitoara
Copyright-Jahr
2020
Verlag
Apress
Electronic ISBN
978-1-4842-5313-7
Print ISBN
978-1-4842-5312-0
DOI
https://doi.org/10.1007/978-1-4842-5313-7

Informationen zur Barrierefreiheit für dieses Buch folgen in Kürze. Wir arbeiten daran, sie so schnell wie möglich verfügbar zu machen. Vielen Dank für Ihre Geduld.

    Bildnachweise
    AvePoint Deutschland GmbH/© AvePoint Deutschland GmbH, NTT Data/© NTT Data, Wildix/© Wildix, arvato Systems GmbH/© arvato Systems GmbH, Ninox Software GmbH/© Ninox Software GmbH, Nagarro GmbH/© Nagarro GmbH, GWS mbH/© GWS mbH, CELONIS Labs GmbH, USU GmbH/© USU GmbH, G Data CyberDefense/© G Data CyberDefense, FAST LTA/© FAST LTA, Vendosoft/© Vendosoft, Kumavision/© Kumavision, Noriis Network AG/© Noriis Network AG, WSW Software GmbH/© WSW Software GmbH, tts GmbH/© tts GmbH, Asseco Solutions AG/© Asseco Solutions AG, AFB Gemeinnützige GmbH/© AFB Gemeinnützige GmbH