Git - Step by Step Guide
What you'll learn
- Create a repository from scratch and clone an existing repository
- Add, edit, delete files in repo
- Track the change history, show commit logs, format logs
- Undo changes
- Working with Branches
- Merge, rebase, resolving conflicts
- Working with Remote Repository, GitHub
- Set branch protection rules on remote repository
- Create Issue on GitHub, link them to the commits
- Create pull requests
Requirements
- Basic computer skills like ability to install software on your computer and running commands from terminal
Description
Git, is the most popular version control system and having this tool in your tool-belt is crucial if you practice software development professionally.
It may be intimidating to work with a command line tool. But in this course, we will practice a lot and will learn the commands in easy to understand use cases. In the end of this course, you won't be having the fear of making mistake when working with git.
We will learn how do we
track or untrack files
commit changes to local repository
check local change history
reset our changes
undo commits
create and use branch
synchronize branches with rebase and merge
cherry-pick commit from one branch to another
create tags to mark our commits with custom names
We will practice the commands for tracking files or untracking a file, and we will practice branching and we will see how we can synchronize our branches with the commands like merge or rebase.
We will be using GitHub as remote repository. We will see how do we
configure GitHub to protect branches
create issues
link issues to commits
create pull requests
resolve conflicts
All major workflows are visualized by both in real practices and on graph to make sure nothing will be left vague and unclear in your mind.
By following each step in this course, you will be creating a git cheat sheet for yourself in the end.
Who this course is for:
- Software engineers, developers
- Anyone who needs to handle their manual file version tracking task to be taking care by a source control system
Instructor
I have experience on
• Java / Java EE specifications JAX-RS (Jersey), JPA (Hibernate)
• Spring Framework (Spring Boot, Security, Data)
• Spring Cloud components & microservices frameworks, messaging bus (RabbitMQ)
• JavaScript (ES6, TypeScript) / Node JS (Express.js) and frontend JS Frameworks (React (and Redux), AngularJS, Svelte)
• Testing frameworks (For Java pojects JUnit, Mockito, AssertJ, Cucumber / for Javascript projects Jest, and Testing Library (for React and Svelte))
I've been teaching Spring Boot, React and Test Driven Development to newly graduate engineers and interns either in class environment or one on one.