
Master Git and GitHub basics, work with branches, cherry-pick, rebase, and pull requests, and integrate Jenkins with GitHub repositories and Maven projects through real projects and scenario-based examples.
Explore what DevOps is and its benefits, including faster delivery, reliability, and collaboration, and understand the DevOps lifecycle and the tools used across planning, building, testing, deploying, monitoring, and operations.
Navigate the DevOps lifecycle from code to production, detailing continuous integration, testing, and deployment with GitHub, Jenkins, Maven, SonarQube, Nexus, Docker, and monitoring tools.
Git is a free, fast distributed version control system that tracks changes and supports centralized and distributed workflows, with quick reverts via platforms like GitHub, Bitbucket, and Azure Repos.
Learn to create a GitHub account and repository, and clone it to your local machine. Understand the three git stages and configure your user name and email for commits.
Configure git with user.name and user.email, check status, commit file.txt, push to origin, and authenticate via browser to update GitHub.
Create a new file in GitHub, commit it, and pull to reflect it locally. Understand how git pull relates to git push to sync GitHub and your local repository.
practice pushing local changes to remote GitHub by staging files with git add and committing, then push to origin main, while managing credentials in the credential manager.
Edit a local file, check git status, stage changes, commit with a message, and push to main to reflect updates on GitHub, illustrating add and commit stages.
Use git log to view commits and ids, and understand head and origin pointers. See how to stage, commit, and push to origin/main to sync local and remote.
Learn how git branches isolate development work on GitHub, using a default main branch, master and develop, and feature branches merged via pull requests to production code.
Learn how to create a GitHub repository, clone it locally, and create and switch branches such as master and develop, then push changes to remote with upstream tracking.
Create a develop branch from master, switch to it, add a file, commit changes, and push the branch to GitHub with --set-upstream origin develop, illustrating branch creation and remote syncing.
Create and work on a feature branch derived from develop. Push changes and open a pull request to merge into develop, navigating approvals and potential merge conflicts.
Create a feature-B branch from develop, add files, push to remote, open a pull request to merge into develop, complete the merge, and delete the feature-B branch locally and remotely.
Understand how release branches support production readiness by creating a release from develop, fixing bugs on release, and finalizing changes before merging back to master.
Create a hotfix branch from the master to quickly address production issues, then merge the fixes back into master and develop so the team stays informed, unlike the release workflow.
Create and push a release branch from develop, fix issues, commit changes, and merge back via a pull request, detailing version naming and review steps.
learn how to create a pull request, add a reviewer, and enforce branch protection rules on the develop branch that require one approval before merging.
Create and push bugfix files on the release branch, then open a pull request to develop with a required reviewer. Use comment, request changes, or approve to enable merging.
Understand conflicts in git merge when identical files differ across branches like develop and testforconflict, and resolve them by using TortoiseGit to compare and choose content to keep.
discover how to simulate and resolve a merge conflict between develop and testforconflict branches, including creating feature3.txt in both branches and inspecting the merge error.
Resolve merge conflicts in git by using tortoisegit on windows: identify conflicting featur3.txt, compare branch content in graphical view, choose the desired version, mark as resolved, and commit the merge.
Resolve git conflicts directly in GitHub using the web editor within a pull request. Learn how to require a reviewer, review changes, and merge after resolving conflicts in develop.
See how to remove untracked files with git clean -f in the develop branch, including deleting directories with -d, as an alternative to rm.
Learn to undo edits on existing files by using git checkout -- filename to revert a file to its remote version from GitHub after changes in a feature branch.
Explore git revert and reset, focusing on reverting the latest change by creating a new commit that undoes the previous one, and how this affects the commit log.
Explore how the git reset command moves the head to a specific commit using --soft or --hard, affecting commits, files, and logs, and contrast it with revert.
Learn how git fetch downloads remote updates without changing your working files, inspect remote changes with git log, and merge with git merge or git pull (fetch plus merge).
Pull fetches remote changes to the local repository and downloads new files like test1 and test2; resolve conflicts and commit the merge, which adds commits in the history.
Learn how git fetch contrasts with git pull and git merge by reviewing remote changes, resolving conflicts, and completing a merge on the local branch.
Explore how to use Git cherry-pick to selectively merge specific commits from one branch into another, including practical examples with commit IDs, conflicts, and integration with merge or rebase workflows.
Practice cherry-picking commits from feature-A into develop, resolve conflicts in javacoding, and commit the resolution using git and tortoise git.
Explore how git tags mark a specific point in history to create releases like v1.0 and v2.0, including annotated tags, listing tags, and pushing them to origin.
Learn to manage git tags by listing and deleting locally with git tag -l and git tag -d, then remove remote tags using git push --delete origin <tag>.
Learn the difference between git rebase and git merge, including how merge creates a new commit while rebase applies commits without creating one, illustrated with main and master branches.
Explore the difference between git merge and git rebase using main and feature branches, showing how merge may create commits while rebase often does not.
Explore Jenkins, an open source automation server for continuous integration and delivery, and learn to integrate it with git, GitHub, and Maven to build, test, and deploy Java projects.
Demonstrates integrating Jenkins with GitHub to clone a Java project on EC2 instance, install Git, Java, and Maven, and build with Maven using username and password approach in a lab.
Launch an EC2 instance with Amazon Linux 2, install Git, Java, and Maven, then install Jenkins, open port 8080, start Jenkins, and access the web interface.
Configure Jenkins on an EC2 instance, install suggested plugins for git, Maven, and Ansible, create the first admin user, and access the Jenkins dashboard.
Configure Jenkins with GitHub by adding GitHub username and password to global credentials, and set the Maven location in global tool configuration, preparing for freestyle projects.
Learn to create a Jenkins freestyle project, integrate GitHub and Maven, configure a java project with the main branch, run clean package, and generate a war artifact.
Install the Maven integration plugin in Jenkins, configure a maven project with pom.xml details, build to generate a war artifact, and update the project version from 2.0.1 to 1.0.0.
Reach out with any doubts or suggestions via the course module's question answer form or direct message. Apply what you learned to ace the exam and advance your career.
This course will guide everyone (no prior knowledge is required!) through the core steps to use these tools in your daily projects with ease.
Git & GitHub - The complete step-by-step guide from scratch and also learn Jenkins integration with GitHub Repository.
This course is all about Git and GitHub.
Course Description:
Introduction:
What is DevOps & its benefits
DevOps LifeCycle :
Continuous Development
Continuous Integration
Continuous Testing
Continuous Feedback
Continuous Deployment
Continuous Monitoring
Overview of Git & GitHub
Create a GitHub Account, repository, clone - Distributed Version Control System
Git configuration
Stages in Git
Git pull from Remote to Local
Git push from Local to Remote
Stages in Git - Add & Commit
Working with Branches
Introducing Branches
Lab - Create branches (master & Develop)
Create & push branch from Local to Remote
Feature branches
Pull Request - To merge one branch into another
Release branch
Hotfix Branch
Lab - Release & Hotfix Branch
Add Reviewer in Pull Request with Branch protection rules
PR - Comment, Approve & Request changes
Conflict Resolutions
Understanding conflicts in git merge
Create a merge conflict & resolve it
Use TortoiseGit S/W to resolve conflicts
Resolve conflicts from GitHub using web editor using PR with one reviewer
Real Project examples - Scenario-based cases
Git clean command to remove file & directory
Undoing changes on existing files
Git Revert Command
Git Reset Command
Git fetch command
Git pull command
The difference git merge & git fetch
GitHub Deep Drive - Cherry-pick, tags, rebase & merge
What is Cherry-pick in git?
Lab on Cherry-pick with conflicts in merging
Git tags
Delete tags from local & remote
Git rebase command
The difference between git rebase & merge
Integrate Jenkins with GitHub Repository & Maven project
About Jenkins
Overview of Jenkins integration with GitHub & how to build a java based project
Installation of Jenkins, Java, Maven & Git on EC2 Instance
Configure Jenkins on EC2 Instance
Configure GitHub Credentials & Maven Location on Jenkins
Create & Build the Java-based project using Maven Tool
Add Maven Plugins in Jenkins
Last lecture
Git Interview QA - MCQ