Git Fundamentals
What you'll learn
- To know what source control is, and what Git is
- To be able to navigate a file system using the command line
- To be able to stage and commit your changes to Git
- To be able to view the log and history of commits
- To know how Git stores your changes on your file system (a basic understanding)
- To be able to push your changes to a remote repository
- To be able to get others' changes from a remote repository
- To know the difference between rebasing and pulling and be able to do both
- To be able to deal with merge conflicts when pulling or rebasing
- To be able to branch and merge
- To be able to stash working changes temporarily
- To be able to tag a commit with a human-friendly name
- To be able to use Git Extensions, a GUI front end for Git, in order to help you fulfill your daily development tasks quicker
Requirements
- The ability to code in a programming language (at least 1 year of study or experience)
- An understanding of files and the file system on Windows
- The ability to use the Command Prompt or Powershell in Windows, at a basic level, to navigate a file system and execute commands.
- An email address in order to sign up to Github (a free account)
Description
Git is the most popular source control tool in the world today, so knowing Git is an essential skill for just about every developer. This course covers the fundamentals of Git - what it's for, how it works, and how to use it in your every day work.
We cover all of the day to day usage of Git, from cloning, to committing, to pushing and pulling, and even branching and merging (and the dreaded merge conflict). The course is aimed at developers who are coming to Git for the first time so no prior knowledge is necessary, but it's also useful for those of you who have been using Git and are wanting to gain a slightly better understanding of how things are working and how to think about what Git is doing so that you can troubleshoot when it throws surprises your way.
In the interest of preparing you for day to day usage, we also cover using Git Extensions, a cross-platform third-party UI built on top of the Git command line that you can use to be more productive in your daily work.
For each section we provide practical video demonstrations of each activity, diagrams showing how what we've done has affected the repository, and also some exercises for you to do in order to practice for yourself.
This course should get you up and running with using Git in your daily work, and provide you with enough understanding of the underlying systems and concepts that you are able to utilize the power Git provides.
Who this course is for:
- This course is designed for developers who are new to source control, or have not yet used Git
Instructor
Our courses have been developed by DevFluence, a professional software development school that is a division of Chillisoft. Chillisoft is an established software development house that is known for our high quality, software professionalism and our excellent delivery track record. Chillisoft set up DevFluence to share the pragmatic lessons that have we learned in writing and delivering software, whilst working with international software teams and businesses for more than 14 years.
DevFluence’s vision is to make Software Professionalism a reality in the world of work. This is achieved by ensuring that our team and our offerings actively embody our vision statement – “the courage to create value for myself, my customers and my community.”
Our vision statement recognises that software competency is directly dependent on fulfilling an individual’s internal drivers of motivation. It also recognises the individual agency and voice of a software developer who has to deliver value within an existing culture. DevFluence recognises the courage of business and software developers who deliberately commit to instilling practices that enables continual learning for career growth.
All Our Instructors:
● Have a minimum of 10 years of solid software development experience
● Are current software practitioners
● Are trained to teach, listen and communicate
● Are engaged in the software community