• Packt logo
  • FutureLearn logo

Advanced Skills in Version Control with Git and GitHub

Improve your file management and track changes in your source code using advanced operations in Git and GitHub.

Woman working on programming codes

Learn advanced VCS functions in Git and GitHub

Git, the most widely used Version Control System, allows developers to track changes during their source code development process.

On this course, you’ll build on your current understanding of Git operations to optimise your file management, learning the in-depth applications of more complex commands, including Git reset, revert, and log.

Make experimental changes using Git detached HEAD

The detached HEAD state in Git, allows you to revisit and experiment with past commits.

You’ll learn how to make changes and commits within the detached HEAD state and how to retain the changes you make.

With this knowledge, you’ll be able to plot how repositories or individual files have changed over time, and make risk-free changes.

Host your repositories on GitHub pages

GitHub pages allow you to easily upload your repositories, storing your files within its Version Control system.

You’ll be guided through the upload process and explore how to make your repository available for worldwide collaboration and learning.

Automate scripting tasks using Git hooks

Git hooks are scripts that are set to run automatically when particular events occur within your repository.

You’ll take a deep dive into the applications of Git hooks, learning when to implement them and how they can optimise your file management processes, particularly when working with large amounts of data.

By the end of this course, you’ll understand a wide variety of complex operations within Git and GitHub. With this knowledge, you’ll be able to streamline your file management and develop innovative approaches to your source code development.

Skip to 0 minutes and 1 second SPEAKER: Good, great, Git– become a Git pro with a course on advanced Git skills in just three weeks. Git guru Bogdan Stashchuk will help you achieve Git greatness with this advanced course. The aim of this course is to help you apply Git hooks appropriately, perform rebasing, apply Git Ignore rules, use detached HEAD, Git shortlog, reset, revert, and cherrypicking, and create a simple website. Get to grips with Git from anywhere at any time. Step into your future with advanced skills and version control with Git and GitHub from Packt and FutureLearn.

Syllabus

  • Week 1

    Rebasing, Ignoring files, and detached HEAD, in Git

    • Introduction to the course

      Welcome to Advanced Skills in Version Control with Git and GitHub and the start of your learning journey, brought to you by Packt.

    • Rebasing basics

      In this activity, we will review merging and Pull requests and how they are connected to rebasing.

    • Rebasing steps

      In this activity, we will identify the steps involved in rebasing.

    • Rebasing and branches

      In this activity, we will discuss what rebasing is, how it works and how to use it.

    • Ignoring files in Git

      In this activity, we will discuss what to do if you don't want to stage and commit specific files.

    • Detached HEAD

      In this activity, we will discuss the concept of detached HEAD, how to move to this state and what to do in this state.

    • Wrap up

      You have reached the end of Week 1. In this activity, you'll reflect on what you have learned.

  • Week 2

    Advanced Git and GitHub pages

    • Introduction to Week 2

      Welcome to Week 2. In this activity we'll highlight the main topics that will be covered this week.

    • Git log

      In this activity, we will discuss Git log options including Git short log and formatting.

    • More Git commands

      In this activity, we will discuss additional advanced Git commands that can modify Git history.

    • Stashing and squashing

      In this activity, we will discuss Git stash, garbage collection and the development workflow.

    • GitHub pages part 1

      In this activity, we will discuss how to set up a simple website with GitHub.

    • GitHub pages part 2

      In this activity, we will discuss more complex features and functions of a GitHub website.

    • Wrap up

      You have reached the end of Week 2. In this activity, you'll reflect on what you have learned.

  • Week 3

    GitHub hooks

    • Introduction to Week 3

      Welcome to Week 3. In this activity we'll highlight the main topics that will be covered this week.

    • Introduction to GitHub hooks

      In this activity, we will discuss the basics of hooks in GitHub.

    • Pre-and post-commits

      In this activity, we will discuss pre-and post-commits, disabling rebasing, and cleaning up repositories.

    • Node JS application

      In this activity, we will discuss how to install NPM dependencies, and how to launch some application tests in the pre-commit hook.

    • Syntax checks

      In this activity, we will discuss using ESlint to check our syntax.

    • Wrap up

      You have reached the end of this course. In this activity, you will reflect on what you have learned.

When would you like to start?

Start straight away and join a global classroom of learners. If the course hasn’t started yet you’ll see the future date listed below.

Learning on this course

On every step of the course you can meet other learners, share your ideas and join in with active discussions in the comments.

What will you achieve?

By the end of the course, you‘ll be able to...

  • Apply Git hooks appropriately.
  • Perform rebasing.
  • Apply Git ignore rules.
  • Describe what detached HEAD is.
  • Explain Git shortlog, reset, revert, and cherrypicking.
  • Create a simple website.

Who is the course for?

This course is designed for software developers with an intermediate understanding of Version Control Systems who want to advance their knowledge of Git and GitHub.

What software or tools do you need?

You will need to have a setup and installed software to enable you to use version control systems and Git/GitHub. If you’re unsure what those are, we’d recommend you enrol on one of our introductory-level courses in this topic.

Who developed the course?

Packt

Founded in 2004 in Birmingham, UK, Packt’s mission is to help the world put software to work in new ways, through the delivery of effective learning and information services to IT professionals.

FutureLearn

FutureLearn is a leading social learning platform and has been providing high quality online courses for learners around the world over the last ten years.

What's included?

This is a premium course. These courses are designed for professionals from specific industries looking to learn with a smaller group of like-minded individuals.

  • Unlimited access to this course
  • Includes any articles, videos, peer reviews and quizzes
  • Certificate of Achievement to prove your success when you're eligible
  • Download and print your Certificate of Achievement anytime

Still want to know more? Check out our FAQs

Learning on FutureLearn

Your learning, your rules

  • Courses are split into weeks, activities, and steps to help you keep track of your learning
  • Learn through a mix of bite-sized videos, long- and short-form articles, audio, and practical activities
  • Stay motivated by using the Progress page to keep track of your step completion and assessment scores

Join a global classroom

  • Experience the power of social learning, and get inspired by an international network of learners
  • Share ideas with your peers and course educators on every step of the course
  • Join the conversation by reading, @ing, liking, bookmarking, and replying to comments from others

Map your progress

  • As you work through the course, use notifications and the Progress page to guide your learning
  • Whenever you’re ready, mark each step as complete, you’re in control
  • Complete 90% of course steps and all of the assessments to earn your certificate

Want to know more about learning on FutureLearn? Using FutureLearn

Do you know someone who'd love this course? Tell them about it...