title
Git & GitHub Full Course in 5 Hours | Git GitHub Tutorial for Beginners | DevOps Training | Edureka
description
🔥Edureka DevOps Training: https://www.edureka.co/devops-certification-training
This Edureka Git & GitHub Full Course video will help you understand and learn the fundamentals of Git & GitHub. This Git & GitHub Tutorial is ideal for both beginners as well as professionals who want to master the fundamentals of Git & GitHub. Below are the topics covered in this Git & GitHub Full Course Tutorial:
0:00 Introduction
3:08 What is Version Control
6:05 Why Version Control
8:20 Centralized vs Distributed
9:14 What is GIT
12:08 How does it work?
15:12 GIT Installation & Setup
18:25 Git Operations & Commands
1:04:47 The need for GitHub
1:07:17 What is GitHub?
1:16:36 Create a Repository
1:22:03 Create a Branch
1:24:50 Make a commit
1:29:15 Open and merge Pull request
1:33:36 GitHub case study
1:38:32 Show a Remote Repository
1:38:42 Rename a Remote Repository
1:39:12 Remove a Remote Repository
1:42:16 Removing a Branch from Remote Repository
1:44:26 Renaming a Branch from Remote Repository
1:53:23 File Locations Pre & Post Commit
1:54:23 Compare Remote Repos
1:59:28 Compare Local Git Branch with Remote
2:13:13 What is a workflow
2:14:18 Git Flow vs GitHub Flow
2:15:38 Issues with Git Flow
2:17:58 GitHub Flow
2:25:30 Branching in GIT
2:30:22 Git Storage Strategy
2:34:29 How GIT internally merges branches
2:39:11 How to switch between branches & commits
2:42:02 Deleting Branches
2:44:32 Merge Conflicts
2:50:16 Git Stashing
2:57:41 What is Git Rebase
2:58:43 Why Rebase?
3:03:08 Rebase Commands
3:08;27 Rebase Configuration Options
3:09:27 Pitfalls of Rebase
3:11:32 What is Git merge?
3:11:57 Pros and cons of merge and rebase
3:13:57 When to use merge and rebase?
3:15:27 Similarities between merge and rebase
3:15:45 Differences between merge and rebase
3:18:35 Conclusion - Which one is better?
3:19:40 Summary of most used Git Commands
3:49:00 What is Jenkins?
3:50:35 Why Jenkins and Git are used together?
3:52:30 Demo
4:03:12 Introduction to CI-CD
4:05:42 CI-CD Pipeline
4:08:39 GitLab CI-CD
4:09:04 How to write YAML File
4:10:54 Why use Gitlab CICD?
4:12:09 Building a CI-CD Pipeline using GitLab
4:20:01 Why GitOps?
4:21:36 What is GitOps?
4:25:41 Principles of GitOps
4:28:11 How does GitOps work?
4:30:56 Advantages of GitOps
4:33:41 Beginner Interview Questions
4:45:18 Intermediate Interview Questions
4:59:17 Advanced Interview Questions
🔴Subscribe to our channel to get updates on Git & GitHub Full Course. Hit the subscribe button above: https://goo.gl/6ohpTV
Edureka Community: https://www.edureka.co/community/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Instagram: https://www.instagram.com/edureka_learning/
#Edureka #EdurekaGitGitHub #GitGitHubFullCourse #GitGitHub #GitGitHubTutorialForBeginners #futureofGitGitHub #GitGitHubin2021 #GitGitHubExplained #GitGitHubEdureka #EdurekaTraining
------------Edureka Online Training and Certification-----------
🔵DevOps Online Training: https://bit.ly/2BPwXf0
🟣Python Online Training: https://bit.ly/2CQYGN7
🔵AWS Online Training: https://bit.ly/2ZnbW3s
🟣RPA Online Training: https://bit.ly/2Zd0ac0
🔵Data Science Online Training: https://bit.ly/2NCT239
🟣Big Data Online Training: https://bit.ly/3g8zksu
🟣Selenium Online Training: https://bit.ly/3dIrh43
🔵PMP Online Training: https://bit.ly/3dJxMTW
🟣Tableau Online Training: https://bit.ly/3g784KJ
----------------Edureka Masters Programs------------
🔵DevOps Engineer Masters Program: https://bit.ly/2B9tZCp
🟣Cloud Architect Masters Program: https://bit.ly/3i9z0eJ
🔵Data Scientist Masters Program: https://bit.ly/2YHaolS
🟣Big Data Architect Masters Program: https://bit.ly/31qrOVv
🔵Machine Learning Engineer Masters Program: https://bit.ly/388NXJi
🟣Business Intelligence Masters Program: https://bit.ly/2BPLtn2
🔵Python Developer Masters Program: https://bit.ly/2Vn7tgb
🟣RPA Developer Masters Program: https://bit.ly/3eHwPNf
About the Course
Edureka’s DevOps online training is designed to help you master key tools of Devops lifecycle like Docker, Puppet, Jenkins, Nagios, GIT, Ansible, SaltStack and Chef used by a DevOps Engineer for automating multiple steps in SDLC. During this course, our expert DevOps instructors will help you:
1. Understand the concepts and necessities of DevOps
2. Understand the need for DevOps and the day-to-day real-life problems it resolves
3. Learn installation and configuration of common infrastructure servers like Apache, and Nginx for the Enterprise
4. Learn popular DevOps tools like Jenkins, Puppet, Chef, Ansible, SaltStack, Nagios and GIT
5. Implement automated system update, installations and deployments
6. Learn Virtualization Concepts
7. Configuration deployment and packaging, continuous integration using GIT
For Online Training and Certification, Please write back to us at sales@edureka.in or call us at IND: 9606058406 / US: 18338555775 (toll-free) for more informat
detail
{'title': 'Git & GitHub Full Course in 5 Hours | Git GitHub Tutorial for Beginners | DevOps Training | Edureka', 'heatmap': [{'end': 1859.758, 'start': 1663.977, 'weight': 1}], 'summary': "Covers git and github, emphasizing their widespread usage, importance for career growth, and comprehensive agenda. it includes basics of git, version control, collaboration, remote repositories, conflict resolution, gitops, jenkins, and gitlab ci/cd. microsoft's github implementation is a case study. the content also delves into git workflow, open source project management, branching, merging, and git commands, and highlights the advantages of gitops best practices.", 'chapters': [{'end': 144.804, 'segs': [{'end': 154.168, 'src': 'embed', 'start': 125.114, 'weight': 0, 'content': [{'end': 129.756, 'text': 'Next, we will learn about GitOps where you will learn what is GitOps and why do we need it.', 'start': 125.114, 'duration': 4.642}, {'end': 131.997, 'text': 'Also how does GitOps work?', 'start': 130.416, 'duration': 1.581}, {'end': 138.32, 'text': 'Finally, we will end this session with the Git interview questions, where we will discuss basic interview questions,', 'start': 132.517, 'duration': 5.803}, {'end': 142.122, 'text': 'intermediate level interview questions and advanced interview questions.', 'start': 138.32, 'duration': 3.802}, {'end': 144.804, 'text': 'With this, I come to the end of my agenda.', 'start': 142.583, 'duration': 2.221}, {'end': 154.168, 'text': 'Kindly take up this time to go ahead and subscribe to us and do not forget to hit that bell icon to never miss an update from the Edureka YouTube channel.', 'start': 145.484, 'duration': 8.684}], 'summary': 'Introduction to gitops and git interview questions covered, concluding session.', 'duration': 29.054, 'max_score': 125.114, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs125114.jpg'}], 'start': 8.305, 'title': 'Git and github', 'summary': 'Discusses the widespread usage of git and github in leading organizations, the importance of learning it for career growth, and outlines a comprehensive agenda covering git, github, branching, merging, jenkins integration, gitlab cicd pipeline, gitops, and interview questions.', 'chapters': [{'end': 144.804, 'start': 8.305, 'title': 'Git and github: a comprehensive guide', 'summary': 'Discusses the widespread usage of git and github in leading organizations, the importance of learning it for career growth, and outlines a comprehensive agenda covering git, github, branching, merging, jenkins integration, gitlab cicd pipeline, gitops, and interview questions.', 'duration': 136.499, 'highlights': ['Multinational companies like Google, Facebook, Microsoft, Twitter, LinkedIn extensively use Git and GitHub, demonstrating its significance in various industries.', 'The course agenda includes an in-depth coverage of Git, GitHub, branching, merging, Jenkins integration, GitLab CICD pipeline, GitOps, and interview questions, offering a comprehensive learning experience.', "The chapter emphasizes the golden career opportunities for individuals seeking to build their careers in Git and GitHub, highlighting its relevance in today's IT world.", 'The session covers a wide range of topics including Git commands, Jenkins Git integration, GitLab CICD pipeline, GitOps, and Git interview questions, providing a holistic understanding of the subject matter.', 'The introduction to Git and GitHub is followed by discussions on branching, merging, Jenkins integration, GitLab CICD pipeline, GitOps, and interview questions, ensuring a well-rounded understanding of the tools and concepts.']}], 'duration': 136.499, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs8305.jpg', 'highlights': ['Multinational companies like Google, Facebook, Microsoft, Twitter, LinkedIn extensively use Git and GitHub, demonstrating its significance in various industries.', "The chapter emphasizes the golden career opportunities for individuals seeking to build their careers in Git and GitHub, highlighting its relevance in today's IT world.", 'The course agenda includes an in-depth coverage of Git, GitHub, branching, merging, Jenkins integration, GitLab CICD pipeline, GitOps, and interview questions, offering a comprehensive learning experience.', 'The session covers a wide range of topics including Git commands, Jenkins Git integration, GitLab CICD pipeline, GitOps, and Git interview questions, providing a holistic understanding of the subject matter.', 'The introduction to Git and GitHub is followed by discussions on branching, merging, Jenkins integration, GitLab CICD pipeline, GitOps, and interview questions, ensuring a well-rounded understanding of the tools and concepts.']}, {'end': 1051.271, 'segs': [{'end': 188.72, 'src': 'embed', 'start': 145.484, 'weight': 1, 'content': [{'end': 154.168, 'text': 'Kindly take up this time to go ahead and subscribe to us and do not forget to hit that bell icon to never miss an update from the Edureka YouTube channel.', 'start': 145.484, 'duration': 8.684}, {'end': 161.972, 'text': 'Also to learn more about Git, do not forget to check out our certification training, the link to which is given in the description box below.', 'start': 154.648, 'duration': 7.324}, {'end': 164.433, 'text': "So without much ado, let's get started.", 'start': 162.352, 'duration': 2.081}, {'end': 172.527, 'text': "So we'll try to learn what is version control?", 'start': 170.405, 'duration': 2.122}, {'end': 173.568, 'text': 'What is git?', 'start': 173.007, 'duration': 0.561}, {'end': 175.709, 'text': 'What are the benefits of using a git?', 'start': 174.048, 'duration': 1.661}, {'end': 182.775, 'text': 'Then we will be going ahead with the git installation and the setup, along with basic operations and commands.', 'start': 176.21, 'duration': 6.565}, {'end': 185.897, 'text': "With this, let's start our session for today.", 'start': 183.636, 'duration': 2.261}, {'end': 188.72, 'text': 'So let us try to understand what is a version control.', 'start': 186.338, 'duration': 2.382}], 'summary': "Subscribe to edureka's youtube channel for git training and tutorials.", 'duration': 43.236, 'max_score': 145.484, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs145484.jpg'}, {'end': 265.109, 'src': 'embed', 'start': 236.7, 'weight': 7, 'content': [{'end': 239.542, 'text': 'Now, how does this particular system work?', 'start': 236.7, 'duration': 2.842}, {'end': 246.125, 'text': 'how they will be able to collaborate with each other, considering that they have been working on different project,', 'start': 239.542, 'duration': 6.583}, {'end': 251.208, 'text': 'considering they have been working on different functionalities and they have been working remotely?', 'start': 246.125, 'duration': 5.083}, {'end': 255.591, 'text': 'This is where the version control system comes into the picture.', 'start': 252.189, 'duration': 3.402}, {'end': 265.109, 'text': "say. for example, developer 1 started developing a code for a streaming page and he'll be sharing that particular code with developer 2,", 'start': 256.305, 'duration': 8.804}], 'summary': 'Version control system facilitates collaboration among developers working on different projects and functionalities.', 'duration': 28.409, 'max_score': 236.7, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs236700.jpg'}, {'end': 329.743, 'src': 'embed', 'start': 302.783, 'weight': 6, 'content': [{'end': 309.932, 'text': 'later these versions can be referred, which are stored into the repository To understand version control system.', 'start': 302.783, 'duration': 7.149}, {'end': 313.314, 'text': 'There are three categories of a version control system.', 'start': 310.392, 'duration': 2.922}, {'end': 323.06, 'text': 'The first one is local version control system where all the code all the changes are being tracked locally onto the developers system.', 'start': 313.834, 'duration': 9.226}, {'end': 329.743, 'text': 'Then we have a centralized version control system where developers can connect to a centralized server.', 'start': 323.66, 'duration': 6.083}], 'summary': 'Three categories of version control system: local, centralized, and distributed.', 'duration': 26.96, 'max_score': 302.783, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs302783.jpg'}, {'end': 411.15, 'src': 'embed', 'start': 364.861, 'weight': 4, 'content': [{'end': 367.382, 'text': 'What is the use of having a version control system?', 'start': 364.861, 'duration': 2.521}, {'end': 374.304, 'text': 'Yes, for battery collaboration, since there are multiple developers who are contributing to the project.', 'start': 368.182, 'duration': 6.122}, {'end': 382.126, 'text': 'Hence It is very important for them to collaborate with each other managing the versions as we have discussed that.', 'start': 374.824, 'duration': 7.302}, {'end': 388.528, 'text': 'Yes, all the changes that are made to the application code, all the changes made to any file,', 'start': 382.146, 'duration': 6.382}, {'end': 392.92, 'text': 'will be tracked and hence we are tracking those particular changes.', 'start': 388.528, 'duration': 4.392}, {'end': 399.263, 'text': 'with a new version associated with a new change rollback functionality,', 'start': 392.92, 'duration': 6.343}, {'end': 406.107, 'text': 'it is easy to roll back to the previous stable version in case there is any issue with your current version,', 'start': 399.263, 'duration': 6.844}, {'end': 411.15, 'text': 'reducing the downtime which can help in reversing the faulty updates.', 'start': 406.107, 'duration': 5.043}], 'summary': 'Version control system enables collaboration, tracks changes, and allows for easy rollback, reducing downtime.', 'duration': 46.289, 'max_score': 364.861, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs364861.jpg'}, {'end': 656.321, 'src': 'embed', 'start': 621.534, 'weight': 0, 'content': [{'end': 626.679, 'text': 'which we will see as part of the demonstration when we will be developing in parallel.', 'start': 621.534, 'duration': 5.145}, {'end': 636.033, 'text': 'along with the branches snapshots, git takes the snapshot to track the changes that are made inside the file.', 'start': 626.679, 'duration': 9.354}, {'end': 645.918, 'text': 'rather than just tracking the file, it helps you to track what all changes has been made in a specific code file and by which developer.', 'start': 636.033, 'duration': 9.885}, {'end': 656.321, 'text': 'Further, since it is a distributed kind of a version control system, every developer, every contributor, can have their own copy of the repository,', 'start': 646.917, 'duration': 9.404}], 'summary': 'Git tracks changes in code files for developers in a distributed version control system.', 'duration': 34.787, 'max_score': 621.534, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs621534.jpg'}, {'end': 932.483, 'src': 'embed', 'start': 907.276, 'weight': 3, 'content': [{'end': 913.157, 'text': "Let's try to go ahead with the git installation and setup for git installation and setup.", 'start': 907.276, 'duration': 5.881}, {'end': 916.158, 'text': 'You need to have a git bash for your Windows.', 'start': 913.437, 'duration': 2.721}, {'end': 925.64, 'text': 'How can you install a git bash in the Windows operating system for all the users who want to use git bash in the Windows operating system.', 'start': 916.998, 'duration': 8.642}, {'end': 932.483, 'text': 'You can go to the download site for git Search for your appropriate operating system.', 'start': 926.24, 'duration': 6.243}], 'summary': 'Guide on installing and setting up git bash for windows users.', 'duration': 25.207, 'max_score': 907.276, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs907276.jpg'}], 'start': 145.484, 'title': 'Git, version control, and collaboration', 'summary': 'Covers the basics of git, version control, and collaboration, including topics such as installation, setup, basic operations, and commands of git, the importance of version control for collaboration, different types of version control systems, benefits, and the role of repositories. it also explores the benefits of using git, its basic workflow, and provides a demonstration of the installation process on windows and ubuntu.', 'chapters': [{'end': 188.72, 'start': 145.484, 'title': 'Understanding git and version control', 'summary': "Explores the basics of git and version control, covering topics such as subscription to edureka's youtube channel, git certification training, and the significance of version control and git. additionally, it delves into the installation, setup, and basic operations and commands of git.", 'duration': 43.236, 'highlights': ["The chapter emphasizes subscribing to Edureka's YouTube channel and availing Git certification training.", 'It discusses the significance of version control and Git, along with the installation, setup, and basic operations and commands of Git.']}, {'end': 596.031, 'start': 189.52, 'title': 'Version control and collaboration', 'summary': 'Explains the importance of version control system for collaboration among developers, with a focus on the types of version control systems, benefits, and the role of repositories.', 'duration': 406.511, 'highlights': ['Version control system is crucial for collaboration among developers, enabling them to save and track changes in the application code. It is highlighted that version control system is essential for collaboration among developers, allowing them to save and track changes in the application code, ensuring all developers can contribute together to form a complete application.', 'The chapter discusses three categories of version control systems: local, centralized, and distributed, providing an understanding of how developers can track changes locally or through centralized and distributed servers. The chapter elaborates on the three categories of version control systems, namely local, centralized, and distributed, and how developers can track changes locally or through centralized and distributed servers for collaboration.', 'The benefits of version control system include managing different versions of the project, easy rollback functionality, and identifying the developer responsible for specific updates. It is emphasized that the benefits of version control system include managing different versions of the project, easy rollback functionality, and identifying the developer responsible for specific updates, enabling timely reversal of faulty updates and project analysis.', 'The concept of a repository and its role as a storage place for code associated with a project is explained, highlighting the flexibility of saving code locally or in remote repositories like GitHub. The chapter explains the concept of a repository as a storage place for code associated with a project, offering the flexibility of saving code locally or in remote repositories like GitHub, accommodating various file types related to the code.', 'The differences between centralized and distributed version control systems are outlined, clarifying how each system manages code updates and collaborations among developers. The chapter outlines the differences between centralized and distributed version control systems, providing clarity on how each system manages code updates and collaborations among developers, specifying the process of code syncing and collaboration.', 'The role of Git as a distributed version control system is explained, detailing how developers can sync their local repositories with the remote repository for effective collaboration. It details the role of Git as a distributed version control system, explaining how developers can sync their local repositories with the remote repository for effective collaboration, ensuring that changes in the remote repository are accessible to other project contributors.']}, {'end': 1051.271, 'start': 596.091, 'title': 'Understanding git basics and installation', 'summary': 'Explains the benefits of using git, such as being free and open source, supporting non-linear development, providing distributed version control, offering speed and robustness, ensuring integrity, and enabling parallel development. it also outlines the basic workflow of git and demonstrates the installation process on windows and ubuntu.', 'duration': 455.18, 'highlights': ['Git is free and open source under GPL license, providing cost-free usage and non-linear development. It is released under the GPL license, making it free and open source, thereby eliminating the need for licenses and enabling non-linear development.', 'Git supports distributed version control, allowing each developer to have their own local repository. As a distributed version control system, every developer can have their own copy of the repository stored locally on their workstation.', 'Git boasts speed, ensuring lightning-fast saving of changes and robustness in undoing tasks. It offers fast saving of changes and the ability to undo nearly every task, providing speed and robustness.', 'Git ensures integrity by recording every change made in the code, and supports parallel development for collaboration among contributors. It records every change made in the code and supports parallel development for collaboration among contributors, ensuring integrity.', 'The chapter provides a detailed explanation of the basic workflow of Git, including the working copy, staging area, and local repository. The chapter explains the basic workflow of Git, describing the working copy, staging area, and local repository.', 'The installation process for Git on Windows and Ubuntu is demonstrated, covering the download and installation steps using appropriate package managers. The transcript demonstrates the installation process of Git on Windows and Ubuntu, covering the download and installation steps using appropriate package managers.']}], 'duration': 905.787, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs145484.jpg', 'highlights': ["The chapter emphasizes subscribing to Edureka's YouTube channel and availing Git certification training.", 'Version control system is crucial for collaboration among developers, enabling them to save and track changes in the application code.', 'The benefits of version control system include managing different versions of the project, easy rollback functionality, and identifying the developer responsible for specific updates.', 'The concept of a repository and its role as a storage place for code associated with a project is explained, highlighting the flexibility of saving code locally or in remote repositories like GitHub.', 'The role of Git as a distributed version control system is explained, detailing how developers can sync their local repositories with the remote repository for effective collaboration.', 'Git is free and open source under GPL license, providing cost-free usage and non-linear development.', 'Git supports distributed version control, allowing each developer to have their own local repository.', 'Git boasts speed, ensuring lightning-fast saving of changes and robustness in undoing tasks.', 'Git ensures integrity by recording every change made in the code, and supports parallel development for collaboration among contributors.', 'The chapter provides a detailed explanation of the basic workflow of Git, including the working copy, staging area, and local repository.', 'The installation process for Git on Windows and Ubuntu is demonstrated, covering the download and installation steps using appropriate package managers.']}, {'end': 2274.678, 'segs': [{'end': 1180.027, 'src': 'embed', 'start': 1155.894, 'weight': 4, 'content': [{'end': 1165.661, 'text': 'where a developer can create multiple branches with respect to multiple requirements and he can further merge those particular changes into the master branch.', 'start': 1155.894, 'duration': 9.767}, {'end': 1167.963, 'text': 'Once the changes are finalized.', 'start': 1166.121, 'duration': 1.842}, {'end': 1175.765, 'text': 'We will also see that how rebase can actually help you to track all the changes in a sequential manner.', 'start': 1168.72, 'duration': 7.045}, {'end': 1180.027, 'text': 'Once the changes are made into the local repository.', 'start': 1176.785, 'duration': 3.242}], 'summary': 'Developers can create multiple branches, merge changes into master branch, and use rebase to track changes sequentially.', 'duration': 24.133, 'max_score': 1155.894, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs1155894.jpg'}, {'end': 1254.145, 'src': 'embed', 'start': 1224.482, 'weight': 3, 'content': [{'end': 1234.089, 'text': 'Whereas git fork can be used to create a copy of that particular remote repository into your GitHub account directly.', 'start': 1224.482, 'duration': 9.607}, {'end': 1239.172, 'text': 'the difference between git clone and git fork over here is with git clone.', 'start': 1234.089, 'duration': 5.083}, {'end': 1244.115, 'text': 'You are creating a copy of a remote repository on a local machine.', 'start': 1239.512, 'duration': 4.603}, {'end': 1254.145, 'text': 'With git fork, you can create a copy of original repository, which is available in a remote location directly to your GitHub account.', 'start': 1244.935, 'duration': 9.21}], 'summary': 'Git fork creates a copy of a remote repository into your github account, distinguishing from git clone.', 'duration': 29.663, 'max_score': 1224.482, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs1224482.jpg'}, {'end': 1555.29, 'src': 'embed', 'start': 1503.994, 'weight': 0, 'content': [{'end': 1507.937, 'text': 'Since we have not committed anything in our local repository.', 'start': 1503.994, 'duration': 3.943}, {'end': 1512.56, 'text': 'Yes So our master branch do not have any commits yet.', 'start': 1507.957, 'duration': 4.603}, {'end': 1521.805, 'text': 'Now, please note master is the default branch which gets initialized which gets created whenever you initialize a local repository.', 'start': 1513.3, 'duration': 8.505}, {'end': 1527.889, 'text': 'So now we will write our first file, our first application code file edureka1.txt.', 'start': 1522.546, 'duration': 5.343}, {'end': 1537.937, 'text': "So let's use our VI editor to create our first code file, which is edureka1.txt, with the VI editor.", 'start': 1529.733, 'duration': 8.204}, {'end': 1540.899, 'text': 'You can add any command like hi.', 'start': 1538.337, 'duration': 2.562}, {'end': 1545.001, 'text': 'This is a session from edureka.', 'start': 1541.379, 'duration': 3.622}, {'end': 1550.504, 'text': 'We can further save this particular file which will act as a code file for us.', 'start': 1546.061, 'duration': 4.443}, {'end': 1555.29, 'text': 'Once a code file is added in your repository.', 'start': 1551.525, 'duration': 3.765}], 'summary': 'No commits in master branch yet. creating first code file edureka1.txt using vi editor.', 'duration': 51.296, 'max_score': 1503.994, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs1503994.jpg'}, {'end': 1859.758, 'src': 'heatmap', 'start': 1663.977, 'weight': 1, 'content': [{'end': 1671.142, 'text': 'but this is not yet committed to my local repository and it is still available inside the staging area.', 'start': 1663.977, 'duration': 7.165}, {'end': 1676.516, 'text': 'We have just staged this particular file before it can be committed.', 'start': 1671.943, 'duration': 4.573}, {'end': 1682.381, 'text': "Now, let's see how we can commit this particular file into our local repository.", 'start': 1677.377, 'duration': 5.004}, {'end': 1692.289, 'text': 'We can commit this particular file into our local repository using a git commit command and all the necessary options.', 'start': 1683.442, 'duration': 8.847}, {'end': 1698.774, 'text': 'the parameter, the options that you need to pass along with git commit is the message.', 'start': 1692.289, 'duration': 6.485}, {'end': 1702.377, 'text': 'is the commit message associated with respect to that commit?', 'start': 1698.774, 'duration': 3.603}, {'end': 1707.618, 'text': 'and that is what you specify with hyphen m as an option.', 'start': 1703.012, 'duration': 4.606}, {'end': 1718.371, 'text': "so let's say, my first message, or my message is committing my first file, eureka1.txt.", 'start': 1707.618, 'duration': 10.753}, {'end': 1729.177, 'text': 'And this is how the output of a commit command will look like, where you should be able to see that.', 'start': 1722.955, 'duration': 6.222}, {'end': 1748.463, 'text': 'Yes, a commit ID is generated along with the commit message and you will be able to see that what all changes has been done in a summary where we have changed one file where one insertion has been done in a particular file.', 'start': 1729.297, 'duration': 19.166}, {'end': 1754.232, 'text': 'And yes, this particular file has been created in my local repository.', 'start': 1749.304, 'duration': 4.928}, {'end': 1761.743, 'text': "Now once the file is committed into the local repository, let's see how my git status looks like.", 'start': 1754.973, 'duration': 6.77}, {'end': 1769.283, 'text': 'With this git status we can see we do not have any unsaved changes.', 'start': 1763.74, 'duration': 5.543}, {'end': 1775.367, 'text': 'That means whatever changes we have done in all of our application code file.', 'start': 1769.864, 'duration': 5.503}, {'end': 1780.13, 'text': 'They all are committed and they all are saved into the local repository.', 'start': 1775.707, 'duration': 4.423}, {'end': 1790.395, 'text': 'Now let us try to understand that how we can track the changes made to our local repository, how we can see the summary of commits,', 'start': 1780.93, 'duration': 9.465}, {'end': 1792.937, 'text': 'what has been made into our local repository.', 'start': 1790.395, 'duration': 2.542}, {'end': 1798.006, 'text': 'For that we can use a command called git log.', 'start': 1793.644, 'duration': 4.362}, {'end': 1807.109, 'text': 'with a git log command, git will actually present the output of all the commit messages that you have made inside your repository.', 'start': 1798.006, 'duration': 9.103}, {'end': 1812.451, 'text': "Now, let's try to understand this particular command bit more in detail as an output.", 'start': 1807.729, 'duration': 4.722}, {'end': 1822.97, 'text': 'We can see that, yes, a hash ID has been generated for a specific commit, where the author who has made that particular commit,', 'start': 1812.771, 'duration': 10.199}, {'end': 1826.993, 'text': 'who has made those particular changes in the application code file,', 'start': 1822.97, 'duration': 4.023}, {'end': 1834.898, 'text': 'is I am devops trainer and the associated email address with that particular user is I am devops trainer at gmail.com.', 'start': 1826.993, 'duration': 7.905}, {'end': 1841.141, 'text': 'Now we want to check what all changes has been made in my system with this commit message.', 'start': 1835.518, 'duration': 5.623}, {'end': 1847.025, 'text': 'We can check the details with respect to any commit message using a get show command.', 'start': 1841.862, 'duration': 5.163}, {'end': 1850.348, 'text': 'and append that with the commit ID.', 'start': 1847.765, 'duration': 2.583}, {'end': 1859.758, 'text': 'You can just specify initial 7 to 8 characters of your commit ID, which will be able to identify a specific commit hash ID,', 'start': 1851.089, 'duration': 8.669}], 'summary': 'Demonstrates how to commit files and track changes in a local repository using git commands.', 'duration': 195.781, 'max_score': 1663.977, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs1663977.jpg'}], 'start': 1052.091, 'title': 'Using git for version control', 'summary': 'Covers installing git package, verifying installation, basic git commands overview emphasizing git version 2.17.1, working with git status, staging, and commit, committing changes to a local repository, and tracking changes with an emphasis on git log, git ls-files, and git status commands.', 'chapters': [{'end': 1108.261, 'start': 1052.091, 'title': 'Installing git package and verifying installation', 'summary': "Discusses the process of installing the git package using the 'sudo apt install' command, verifying its installation with 'git version' command, and confirming the presence of git version 2.17.1 in the system.", 'duration': 56.17, 'highlights': ["By using 'sudo apt install' followed by the package name, such as git, the system can download and install the specified package, in this case, Git.", "Verifying the availability and readiness of the installed package by executing 'git version' command, which confirmed the presence of Git version 2.17.1 in the system.", "Clearing the screen and using the 'sudo apt install' command to install the Git package, which was already available in the operating system, resulting in skipping the installation process."]}, {'end': 1476.825, 'start': 1109.187, 'title': 'Basic git commands overview', 'summary': 'Covers the basic git commands for creating a repository, making changes, syncing repositories, and tracking changes, emphasizing the usage and differences between commands such as git init, git clone, git fork, git remote add, and git config.', 'duration': 367.638, 'highlights': ['The git init command initializes a repository from scratch, creating a local repository, and the git clone command is used to clone an existing remote repository to a local machine, while git fork creates a copy of a remote repository in a GitHub account. git init initializes a repository from scratch, creating a local repository. git clone clones an existing remote repository to a local machine, while git fork creates a copy of a remote repository in a GitHub account.', 'The importance of configuring user and email details for tracking changes is emphasized using git config command to set up global parameters such as user name and user email. Emphasizes the importance of configuring user and email details for tracking changes using git config command to set up global parameters such as user name and user email.', 'The process of syncing changes between remote and local repositories is explained using commands like git remote add, git pull, and git push. Explains the process of syncing changes between remote and local repositories using commands like git remote add, git pull, and git push.']}, {'end': 1729.177, 'start': 1477.802, 'title': 'Working with git: status, staging, and commit', 'summary': 'Explains the usage of git status, git add, and git commit commands, emphasizing the transition of a file from untracked to tracked and from staging to local repository.', 'duration': 251.375, 'highlights': ['Git status command helps highlight the status of the local repository. The git status command displays the status of the local repository, indicating whether there are untracked files and the changes made in the working directory.', 'Explanation of transitioning a file from untracked to tracked and from staging to local repository using git add and git commit commands. The process of moving a file from the untracked state to the tracked state using git add command and then committing it to the local repository using git commit command is detailed.', "Clarification on the default branch 'master' and its initialization in a local repository. The default branch 'master' is created upon initializing a local repository and does not contain any commits until changes are committed to it."]}, {'end': 2009.123, 'start': 1729.297, 'title': 'Git commit and repository', 'summary': 'Covers the process of committing changes to a local repository using git, including tracking changes, using git status to monitor the status of changes, and using git log to view commit messages and associated details.', 'duration': 279.826, 'highlights': ["The 'git log' command presents the output of all commit messages inside the repository, including the generated hash ID, author details, and associated email addresses. The 'git log' command provides a comprehensive overview of all commit messages, displaying the generated hash ID, author details, and associated email addresses, offering visibility into all repository changes.", "Using 'git status' allows for monitoring the status of changes, indicating whether there are unsaved changes in the application code files and confirming that all changes are committed and saved in the local repository. The 'git status' command enables the monitoring of changes, ensuring all application code file changes are committed and saved in the local repository, providing a clear indication of any unsaved changes.", "The process of moving files from the working directory to the staging area is achieved using 'git add', with the option to use the dot operator to add multiple files to the staging area. Files can be moved from the working directory to the staging area using the 'git add' command, with the dot operator allowing for the addition of multiple files to the staging area, streamlining the process of preparing files for committing."]}, {'end': 2274.678, 'start': 2010.024, 'title': 'Git commit and file tracking', 'summary': 'Discusses the creation of a new commit id, tracking changes in the local repository, and adding a new file to the repository using git commands, with an emphasis on the git log, git ls-files, and git status commands, and the process of staging and committing files.', 'duration': 264.654, 'highlights': ['A new commit ID (0FA) has been created, indicating one file changed, three lines inserted, and one line deleted, despite no actual line deletion. A new commit ID (0FA) has been generated, falsely indicating the deletion of a line and the insertion of three lines.', 'The git log command reveals two commits, with the latest commit (0FA) associated with the update made in edureka1.txt. The git log command displays two commits, with the latest commit (0FA) linked to the modifications in edureka1.txt.', 'The process of adding a new file (edureka2.txt) to the local repository is discussed, including using the git status and git ls-files commands. The procedure of adding a new file (edureka2.txt) to the local repository is explained, involving the use of git status and git ls-files commands.']}], 'duration': 1222.587, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs1052091.jpg', 'highlights': ["The 'git log' command provides a comprehensive overview of all commit messages, displaying the generated hash ID, author details, and associated email addresses, offering visibility into all repository changes.", 'The process of moving a file from the untracked state to the tracked state using git add command and then committing it to the local repository using git commit command is detailed.', 'The git status command displays the status of the local repository, indicating whether there are untracked files and the changes made in the working directory.', "By using 'sudo apt install' followed by the package name, such as git, the system can download and install the specified package, in this case, Git.", 'The git init command initializes a repository from scratch, creating a local repository, and the git clone command is used to clone an existing remote repository to a local machine, while git fork creates a copy of a remote repository in a GitHub account.']}, {'end': 4366.659, 'segs': [{'end': 2358.448, 'src': 'embed', 'start': 2327.071, 'weight': 5, 'content': [{'end': 2329.634, 'text': 'Now as part of an example for this particular session.', 'start': 2327.071, 'duration': 2.563}, {'end': 2337.582, 'text': 'I already have a remote repository created in a GitHub account and this is a URL of my remote repository.', 'start': 2330.034, 'duration': 7.548}, {'end': 2345.571, 'text': 'I will copy this particular remote repository link and link it with my local repository.', 'start': 2338.343, 'duration': 7.228}, {'end': 2352.985, 'text': 'I hope everybody remember that when we have discussed the link between the local repository and the remote repository,', 'start': 2346.221, 'duration': 6.764}, {'end': 2358.448, 'text': 'we can make that particular link using a git remote add command.', 'start': 2352.985, 'duration': 5.463}], 'summary': 'Link local repository to remote repository using git remote add command.', 'duration': 31.377, 'max_score': 2327.071, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs2327071.jpg'}, {'end': 2816.724, 'src': 'embed', 'start': 2791.916, 'weight': 3, 'content': [{'end': 2802.839, 'text': 'master branch is said to be used for the production specific code or for all the application code that has been approved for the production.', 'start': 2791.916, 'duration': 10.923}, {'end': 2812.323, 'text': 'whatever testing code you need to update, You should create a branch associated with that and then make changes into the respective branch.', 'start': 2802.839, 'duration': 9.484}, {'end': 2816.724, 'text': 'So now we have created a branch called Edureka branch.', 'start': 2813.403, 'duration': 3.321}], 'summary': 'Master branch for production code, create separate branch for testing. created edureka branch.', 'duration': 24.808, 'max_score': 2791.916, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs2791916.jpg'}, {'end': 3139.503, 'src': 'embed', 'start': 3115.412, 'weight': 2, 'content': [{'end': 3123.475, 'text': 'and how we can quickly check on to the number of log commits that are present in my edureka branch by using a git log and the branch name.', 'start': 3115.412, 'duration': 8.063}, {'end': 3126.435, 'text': 'So with the git log on to the edureka branch.', 'start': 3124.594, 'duration': 1.841}, {'end': 3127.436, 'text': 'I can see that.', 'start': 3126.615, 'duration': 0.821}, {'end': 3129.417, 'text': 'yes, it has four comments.', 'start': 3127.436, 'duration': 1.981}, {'end': 3131.158, 'text': 'where we can now see that, yes,', 'start': 3129.417, 'duration': 1.741}, {'end': 3139.503, 'text': 'we are proceeding with the parallel development where there are just three commits done in master and four commits are available in my edureka branch.', 'start': 3131.158, 'duration': 8.345}], 'summary': 'Edureka branch has 4 commits, while master has 3.', 'duration': 24.091, 'max_score': 3115.412, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs3115412.jpg'}, {'end': 3235.19, 'src': 'embed', 'start': 3207.321, 'weight': 7, 'content': [{'end': 3213.265, 'text': 'I should be able to see branch 1 dot TXT which is tracked inside the edureka branch for me.', 'start': 3207.321, 'duration': 5.944}, {'end': 3223.131, 'text': 'How I can merge these particular changes how I can merge the code how I can merge the changes done in my edureka branch to master.', 'start': 3214.425, 'duration': 8.706}, {'end': 3227.494, 'text': "I'll be checking out to my master branch using a git checkout master.", 'start': 3223.832, 'duration': 3.662}, {'end': 3235.19, 'text': "I'll confirm that I am connected to a master branch and using a git merge command on my branch name.", 'start': 3228.237, 'duration': 6.953}], 'summary': 'Merging changes from edureka branch to master using git commands.', 'duration': 27.869, 'max_score': 3207.321, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs3207321.jpg'}, {'end': 3605.063, 'src': 'embed', 'start': 3570.484, 'weight': 11, 'content': [{'end': 3575.466, 'text': 'So I am adding edureka3.txt in my master branch.', 'start': 3570.484, 'duration': 4.982}, {'end': 3578.407, 'text': 'Now, please note what we have done so far.', 'start': 3576.287, 'duration': 2.12}, {'end': 3582.769, 'text': 'We created a rebase branch from the master at 0.2 E D E.', 'start': 3578.888, 'duration': 3.881}, {'end': 3593.636, 'text': 'after that we have made a commit in a rebase branch and a commit is made in the master branch also.', 'start': 3585.41, 'duration': 8.226}, {'end': 3597.518, 'text': "let's see how our logs look like now.", 'start': 3593.636, 'duration': 3.882}, {'end': 3605.063, 'text': "so let's check onto the git logs of my master branch and this is how a git log in the master looks like.", 'start': 3597.518, 'duration': 7.545}], 'summary': 'Added edureka3.txt in master branch, created rebase branch, made commits in both branches.', 'duration': 34.579, 'max_score': 3570.484, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs3570484.jpg'}, {'end': 4059.652, 'src': 'embed', 'start': 4032.728, 'weight': 12, 'content': [{'end': 4036.732, 'text': 'Now that we know why we need GitHub, let us understand what is GitHub.', 'start': 4032.728, 'duration': 4.004}, {'end': 4044.239, 'text': 'GitHub is a Git repository hosting service that provides a web-based graphical interface with many features.', 'start': 4037.573, 'duration': 6.666}, {'end': 4048.203, 'text': 'A repository is usually used to organize a single project.', 'start': 4044.94, 'duration': 3.263}, {'end': 4055.19, 'text': 'Reposteries can contain folders, files, images, videos, spreadsheets, anything your project needs.', 'start': 4048.804, 'duration': 6.386}, {'end': 4059.652, 'text': "Let's say for example a team wants to work on a particular project.", 'start': 4055.991, 'duration': 3.661}], 'summary': 'Github is a git repository hosting service with a web-based interface and support for organizing project files.', 'duration': 26.924, 'max_score': 4032.728, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs4032728.jpg'}, {'end': 4125.524, 'src': 'embed', 'start': 4098.365, 'weight': 15, 'content': [{'end': 4103.567, 'text': "GitHub's tracker is called Issues and has its very own section in every repository.", 'start': 4098.365, 'duration': 5.202}, {'end': 4110.149, 'text': 'Issues basically are a great way to keep track of tasks, enhancements and bugs for your project.', 'start': 4104.328, 'duration': 5.821}, {'end': 4116.193, 'text': 'Moving on, people often get confused between the terms Git and GitHub.', 'start': 4111.27, 'duration': 4.923}, {'end': 4119.095, 'text': 'Now let me clearly explain the difference between them.', 'start': 4116.654, 'duration': 2.441}, {'end': 4125.524, 'text': 'Git is simply a version control system that lets you manage and track changes within your project.', 'start': 4120, 'duration': 5.524}], 'summary': "Github's issues track tasks, enhancements, and bugs. git is a version control system.", 'duration': 27.159, 'max_score': 4098.365, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs4098365.jpg'}, {'end': 4193.54, 'src': 'embed', 'start': 4164.938, 'weight': 8, 'content': [{'end': 4169.921, 'text': "Now without any further ado, let's get started with the demonstration on how to use GitHub.", 'start': 4164.938, 'duration': 4.983}, {'end': 4174.285, 'text': "So for this demonstration, we're working on the website version of GitHub.", 'start': 4170.702, 'duration': 3.583}, {'end': 4179.729, 'text': "There's another version of GitHub that is the desktop version which you can download it to your personal computer.", 'start': 4174.545, 'duration': 5.184}, {'end': 4184.131, 'text': "So we're simply going to search for GitHub in our search engine.", 'start': 4180.488, 'duration': 3.643}, {'end': 4188.055, 'text': 'The first link will lead you to the official website of GitHub.', 'start': 4184.853, 'duration': 3.202}, {'end': 4189.497, 'text': "So I'm going to click on that.", 'start': 4188.115, 'duration': 1.382}, {'end': 4193.54, 'text': 'So this will redirect me to the main home page of GitHub.', 'start': 4190.377, 'duration': 3.163}], 'summary': 'Demonstration of using github website version, accessing official site and main home page.', 'duration': 28.602, 'max_score': 4164.938, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs4164938.jpg'}, {'end': 4249.415, 'src': 'embed', 'start': 4205.925, 'weight': 0, 'content': [{'end': 4208.565, 'text': 'But if you already have an account, like I do,', 'start': 4205.925, 'duration': 2.64}, {'end': 4214.647, 'text': "I'm simply going to click on the sign in button and it'll redirect me to a page where I have to enter the credentials.", 'start': 4208.565, 'duration': 6.082}, {'end': 4216.748, 'text': 'That is my email address and password.', 'start': 4214.707, 'duration': 2.041}, {'end': 4221.089, 'text': "I'm going to do that now and I'm going to click on the sign in button.", 'start': 4217.388, 'duration': 3.701}, {'end': 4226.915, 'text': 'Now, this is the main page of my account as you can see I have no repositories.', 'start': 4221.949, 'duration': 4.966}, {'end': 4227.695, 'text': "It's all new.", 'start': 4227.015, 'duration': 0.68}, {'end': 4228.456, 'text': "It's all fresh.", 'start': 4227.735, 'duration': 0.721}, {'end': 4233.321, 'text': "But if you're not new to GitHub, you can view all of your repositories on the left hand corner.", 'start': 4228.937, 'duration': 4.384}, {'end': 4239.728, 'text': "Now before we move on I'm going to explain you all the features that are present within GitHub.", 'start': 4233.802, 'duration': 5.926}, {'end': 4242.77, 'text': 'So you can see a search bar here.', 'start': 4240.629, 'duration': 2.141}, {'end': 4249.415, 'text': 'So the search bar will allow you to look for profiles certain keywords look for different kinds of projects that are available on GitHub.', 'start': 4243.111, 'duration': 6.304}], 'summary': 'Demonstration of signing into a new github account and accessing repositories, along with a brief overview of github features.', 'duration': 43.49, 'max_score': 4205.925, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs4205925.jpg'}, {'end': 4366.659, 'src': 'embed', 'start': 4330.666, 'weight': 6, 'content': [{'end': 4334.529, 'text': 'You can see the inbox will allow you to view all of the notifications.', 'start': 4330.666, 'duration': 3.863}, {'end': 4339.873, 'text': 'You can also view the under notifications by clicking on this under button as of now.', 'start': 4334.549, 'duration': 5.324}, {'end': 4341.394, 'text': "I don't have any notifications.", 'start': 4339.913, 'duration': 1.481}, {'end': 4342.595, 'text': "So there's nothing available.", 'start': 4341.434, 'duration': 1.161}, {'end': 4348.24, 'text': 'You can also group these notifications by the date or Apostry by clicking on this group by button here.', 'start': 4343.036, 'duration': 5.204}, {'end': 4357.253, 'text': 'You can also view your save notifications by clicking on here, and the done button, on the other hand, will let you Mark all of your notifications.', 'start': 4348.74, 'duration': 8.513}, {'end': 4359.337, 'text': "that you're done with your previous notifications.", 'start': 4357.253, 'duration': 2.084}, {'end': 4366.659, 'text': 'So these are the three important buttons you have to know in this bell icon and the filters are not necessary as of now.', 'start': 4359.978, 'duration': 6.681}], 'summary': 'Inbox allows viewing notifications, group by date, view saved notifications, and mark all as done.', 'duration': 35.993, 'max_score': 4330.666, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs4330666.jpg'}], 'start': 2275.098, 'title': 'Git version control', 'summary': 'Covers syncing changes from a local repository to a remote repository, branching for parallel development, the merging process, rebasing for sequential commit log messages, and the features of github, including tracking changes, creating branches, merging changes, and working with github for version control and issue tracking.', 'chapters': [{'end': 2614.382, 'start': 2275.098, 'title': 'Syncing local repository to remote repository', 'summary': 'Explains how to sync changes from a local repository to a remote repository using git, including tracking changes, linking repositories, pushing changes, and verifying the sync, with a demonstration of syncing three commits from the local to the remote repository.', 'duration': 339.284, 'highlights': ['The local repository has three commits in the master branch There are three commits made in the local repository master branch.', 'Linking the local repository with the remote repository using the git remote add command Explains linking the local repository with a remote repository using the git remote add command and setting the alias as origin.', 'Using the git push command to push changes from the local repository to the remote repository Describes the git push command to push changes from the local repository to the remote repository, including specifying the alias of the remote repository and the branch to be pushed.', 'Demonstration of syncing three local repository commits to the remote repository Demonstrates syncing three commits from the local repository to the remote repository, showing the files and commits synced in the remote repository.']}, {'end': 3090.254, 'start': 2615.228, 'title': 'Git branching and parallel development', 'summary': 'Explains the importance of branching in git for parallel development, demonstrates how to create and switch branches, and highlights the ability to work on different branches concurrently, with the new branch containing all the commits from the source branch.', 'duration': 475.026, 'highlights': ['Branching is essential in Git for parallel development as it allows making updates and changes in a separate branch to avoid touching the master branch, which is reserved for production-specific code. Explains the importance of branching in Git for parallel development, emphasizing the need to work on separate branches to avoid altering the master branch, which is reserved for production-specific code.', 'Creation of a new branch in Git copies all the commits from the source branch to the new branch, enabling parallel development and updates on different branches. Demonstrates that creating a new branch in Git copies all the commits from the source branch to the new branch, facilitating parallel development and updates on different branches.', 'Demonstrates the process of creating a new file in a specific branch, adding and tracking it using Git, and then committing the file to the local repository. Illustrates the process of creating, adding, tracking, and committing a new file in a specific branch using Git.']}, {'end': 3312.784, 'start': 3090.694, 'title': 'Git branch merging process', 'summary': 'Covers the process of merging changes from an edureka branch to the master branch, with the edureka branch having 4 commits and the master branch having 3 commits, highlighting the use of git merge to merge changes and the confirmation of successful merge through git status and logs.', 'duration': 222.09, 'highlights': ['The edureka branch has 4 commits while the master branch has 3 commits, showcasing the parallel development. Quantifiable data: edureka branch - 4 commits, master branch - 3 commits.', 'Demonstrates the process of merging changes from the edureka branch to the master branch using the git merge command. Key point: Explanation of the process of merging changes using git merge.', 'Confirmation of the successful merge by checking the git status and logs, verifying the presence of the changes from the edureka branch in the master branch. Quantifiable data: Confirmation of the presence of changes from edureka branch in the master branch through git status and logs.']}, {'end': 3843.559, 'start': 3313.726, 'title': 'Working with parallel development & rebasing', 'summary': 'Explores parallel development through branching and merging, including rebasing for sequential commit log messages, with the demonstration of git rebase and additional commands like git archive, git bundle, and git stash.', 'duration': 529.833, 'highlights': ['Parallel development using branching and merging allows for separate development on different branches, with changes eventually being merged into the master branch. The process involves creating new branches, making changes, and then merging those changes into the master branch, enabling parallel development.', "Rebasing allows for sequential commit log messages, incorporating changes from the master branch into the new branch being rebased. The rebase command updates the base of the branch, making the new branch's commit log appear sequential by incorporating changes made in the master branch.", 'Demonstration of git rebase showcases updating the base of a branch and creating a new commit log. The demonstration involves creating a rebase branch, making changes, committing them, and then using git rebase to update the base of the branch and showcase the updated commit log.', 'Introduction of additional commands such as git archive, git bundle, and git stash for archiving, creating compressed files, and managing changes temporarily. The chapter introduces commands like git archive for archiving branches, git bundle for creating compressed files, and git stash for managing changes temporarily.']}, {'end': 4366.659, 'start': 3843.559, 'title': 'Understanding github and its features', 'summary': 'Covers the need for github, its features, and how it works, highlighting its importance for software developers, its competitors, and its features like version control, repository hosting, and issue tracking.', 'duration': 523.1, 'highlights': ['GitHub is essential for software developers to share projects and work collaboratively, enabling version control and hosting millions of programmers. It is extremely important for software developers to work on a web-based platform to share their projects and collaborate with other developers. GitHub enables multiple people to simultaneously work on a single project and hosts millions of programmers.', 'GitHub is an open-source platform of choice for developers from various large corporations, including Microsoft, Google, SAP, Airbnb, IBM, and PayPal. GitHub is the platform of choice for developers from various large corporations, with Microsoft being the number one contributor, along with other major companies like Google, SAP, Airbnb, IBM, and PayPal.', 'GitHub provides version control similar to Microsoft Office or Google Drive, tracking all changes made to code and facilitating detailed change logs. GitHub provides version control similar to Microsoft Office or Google Drive, tracking all changes made to code and offering detailed change logs for review.', 'GitHub is a Git repository hosting service that organizes projects, supports simultaneous updates by a team, and features a bug tracker called Issues. GitHub is a Git repository hosting service that organizes projects, supports simultaneous updates by a team, and features a bug tracker called Issues to keep track of tasks, enhancements, and bugs.', 'GitHub is a cloud-based service for managing Git repositories, enabling version control collaboration and hosting central repositories on remote servers. GitHub is a cloud-based service for managing Git repositories, enabling version control collaboration and hosting central repositories on remote servers.']}], 'duration': 2091.561, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs2275098.jpg', 'highlights': ['Demonstrates syncing three commits from the local repository to the remote repository', 'Linking the local repository with the remote repository using the git remote add command', 'Using the git push command to push changes from the local repository to the remote repository', 'Creation of a new branch in Git copies all the commits from the source branch to the new branch', 'Branching is essential in Git for parallel development as it allows making updates and changes in a separate branch', 'Demonstrates the process of creating, adding, tracking, and committing a new file in a specific branch using Git', 'The edureka branch has 4 commits while the master branch has 3 commits, showcasing the parallel development', 'Demonstrates the process of merging changes from the edureka branch to the master branch using the git merge command', 'Confirmation of the successful merge by checking the git status and logs, verifying the presence of the changes from the edureka branch in the master branch', 'Rebasing allows for sequential commit log messages, incorporating changes from the master branch into the new branch being rebased', 'Demonstration of git rebase showcases updating the base of a branch and creating a new commit log', 'Introduction of additional commands such as git archive, git bundle, and git stash for archiving, creating compressed files, and managing changes temporarily', 'GitHub is essential for software developers to share projects and work collaboratively, enabling version control and hosting millions of programmers', 'GitHub is an open-source platform of choice for developers from various large corporations, including Microsoft, Google, SAP, Airbnb, IBM, and PayPal', 'GitHub provides version control similar to Microsoft Office or Google Drive, tracking all changes made to code and facilitating detailed change logs', 'GitHub is a Git repository hosting service that organizes projects, supports simultaneous updates by a team, and features a bug tracker called Issues', 'GitHub is a cloud-based service for managing Git repositories, enabling version control collaboration and hosting central repositories on remote servers']}, {'end': 5653.458, 'segs': [{'end': 4560.608, 'src': 'embed', 'start': 4533.61, 'weight': 9, 'content': [{'end': 4540.113, 'text': "Now if I want to move back to the main page of my github profile, I can simply click on this octocat that's githubs logo.", 'start': 4533.61, 'duration': 6.503}, {'end': 4544.916, 'text': "So I'm just going to click on this octocat logo and here I'm back to my main page.", 'start': 4540.173, 'duration': 4.743}, {'end': 4552.842, 'text': 'Now before we move on and work on the different operations and options within GitHub and learn different things about GitHub.', 'start': 4545.816, 'duration': 7.026}, {'end': 4560.608, 'text': "I'm going to give you a brief overview on how to download the desktop version of GitHub.", 'start': 4553.262, 'duration': 7.346}], 'summary': 'Demonstrating navigation on github and preparing to download desktop version.', 'duration': 26.998, 'max_score': 4533.61, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs4533610.jpg'}, {'end': 4904.514, 'src': 'embed', 'start': 4869.066, 'weight': 6, 'content': [{'end': 4872.049, 'text': 'So all of your project files will be within that zip file.', 'start': 4869.066, 'duration': 2.983}, {'end': 4879.217, 'text': "So that's all you have to really know about your repository and I'm going to click on the readme text file that's available.", 'start': 4872.63, 'duration': 6.587}, {'end': 4884.021, 'text': 'It will take me to another page with some extra information about that file.', 'start': 4880.018, 'duration': 4.003}, {'end': 4889.304, 'text': 'You can see currently we have two lines and the memory space that is allocated to this file.', 'start': 4884.261, 'duration': 5.043}, {'end': 4895.988, 'text': 'So we currently have two lines that is edureka and this is my first repository and you can also see the number of contributors to this project.', 'start': 4889.744, 'duration': 6.244}, {'end': 4904.514, 'text': "That is just one that's just me for now and you can view the history of the commits or the changes that have been performed in your file.", 'start': 4896.068, 'duration': 8.446}], 'summary': 'The repository contains 2 lines, 1 contributor, and a readme file.', 'duration': 35.448, 'max_score': 4869.066, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs4869066.jpg'}, {'end': 4950.956, 'src': 'embed', 'start': 4925.898, 'weight': 0, 'content': [{'end': 4932.003, 'text': 'Branches allow you to work on other features that can be included and merge with the master branch if required.', 'start': 4925.898, 'duration': 6.105}, {'end': 4937.567, 'text': 'So what is the master branch? The master branch is the main branch where your project resides on.', 'start': 4932.383, 'duration': 5.184}, {'end': 4946.195, 'text': 'So all of the changes all of the activities that you do with your main project lies or is on your default branch that is named as the master branch.', 'start': 4937.948, 'duration': 8.247}, {'end': 4950.956, 'text': 'So what really GitHub allows you to do is it allows you to create additional branches.', 'start': 4946.795, 'duration': 4.161}], 'summary': 'Github allows creating additional branches for working on features, merging with the main branch.', 'duration': 25.058, 'max_score': 4925.898, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs4925898.jpg'}, {'end': 4993.06, 'src': 'embed', 'start': 4965.08, 'weight': 7, 'content': [{'end': 4967.521, 'text': 'So they simply allow you to work on other features.', 'start': 4965.08, 'duration': 2.441}, {'end': 4968.601, 'text': "That's what branches are.", 'start': 4967.621, 'duration': 0.98}, {'end': 4973.725, 'text': "So let's move on to the demonstration part and look at how we can create our own branches.", 'start': 4969.201, 'duration': 4.524}, {'end': 4978.588, 'text': 'So now if you look on the left corner, you can see a button that says master.', 'start': 4974.345, 'duration': 4.243}, {'end': 4986.094, 'text': "So currently we're on the master branch and there's only one branch and the master branches of already mentioned is the default branch.", 'start': 4978.829, 'duration': 7.265}, {'end': 4990.277, 'text': "So when you create a repository you're automatically creating a master branch.", 'start': 4986.354, 'duration': 3.923}, {'end': 4993.06, 'text': 'So this is where your project will be residing on.', 'start': 4990.758, 'duration': 2.302}], 'summary': "Creating branches allows working on multiple features simultaneously. 'master' is default branch for repositories.", 'duration': 27.98, 'max_score': 4965.08, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs4965080.jpg'}, {'end': 5150.644, 'src': 'embed', 'start': 5121.042, 'weight': 1, 'content': [{'end': 5122.763, 'text': "Let's go ahead and make our first comment.", 'start': 5121.042, 'duration': 1.721}, {'end': 5128.208, 'text': "Now I'm going to switch to my branch one branch and I'm going to make my first commit.", 'start': 5123.564, 'duration': 4.644}, {'end': 5131.411, 'text': "I'm going to click on my readme.txt file.", 'start': 5128.929, 'duration': 2.482}, {'end': 5133.693, 'text': "That's the only file currently in our repository.", 'start': 5131.431, 'duration': 2.262}, {'end': 5136.215, 'text': "So we'll make the change in the readme.txt file.", 'start': 5133.733, 'duration': 2.482}, {'end': 5140.698, 'text': 'There are three really important icons that are present in the right corner.', 'start': 5136.855, 'duration': 3.843}, {'end': 5146.003, 'text': 'As you can see the first one is a PC icon that says open this file in GitHub desktop.', 'start': 5140.758, 'duration': 5.245}, {'end': 5150.644, 'text': 'So if you click on this file, this entire file will open in your GitHub desktop portion.', 'start': 5146.303, 'duration': 4.341}], 'summary': 'First commit made on branch one with readme.txt file.', 'duration': 29.602, 'max_score': 5121.042, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs5121042.jpg'}, {'end': 5288.899, 'src': 'embed', 'start': 5261.688, 'weight': 2, 'content': [{'end': 5272.092, 'text': "So we let this be stuck on to the option that says commit directly to the branch one branch and I'm going to click on the commit changes options and this will simply implement the entire change to.", 'start': 5261.688, 'duration': 10.404}, {'end': 5274.973, 'text': 'the file can see that the change is implemented.', 'start': 5272.092, 'duration': 2.881}, {'end': 5280.975, 'text': 'the additional piece of line that says this is my first commit is added to my readme text file.', 'start': 5274.973, 'duration': 6.002}, {'end': 5288.899, 'text': 'Now the interesting part is if I switch to my master branch The change is not implemented in my master branch.', 'start': 5281.575, 'duration': 7.324}], 'summary': 'Commited changes to one branch, not reflected in master branch.', 'duration': 27.211, 'max_score': 5261.688, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs5261688.jpg'}], 'start': 4366.679, 'title': 'Github basics', 'summary': "Provides an overview of the github interface, covers creating and editing a github profile, introduces the process of creating a new repository, and demonstrates making a first commit and pull request, with emphasis on key functionalities and a case study on microsoft's implementation of github.", 'chapters': [{'end': 4468.664, 'start': 4366.679, 'title': 'Github interface overview', 'summary': 'Provides an overview of the github interface, including the functionalities of the bell, plus, new repository, and new project icons, with emphasis on the difference between new repository and new project.', 'duration': 101.985, 'highlights': ['The new repository option allows users to create files and directly interact with Git, enabling the addition of files to their GitHub account.', 'The new project button serves as a platform to track issues, features, and tasks related to code within a repository, along with the ability to connect with the devops build and deploy process.', 'The difference between the new repository and new project buttons lies in the fact that projects in GitHub are only a part of GitHub, while the new repository option is part of both GitHub and Git.']}, {'end': 4769.69, 'start': 4469.304, 'title': 'Github profile overview and repository creation', 'summary': 'Covers creating and editing a github profile, including adding bio, company, location, website, and repositories, as well as creating a public repository with a readme file and choosing a license.', 'duration': 300.386, 'highlights': ['Creating and editing GitHub profile allows adding bio, company, location, website, and repositories, along with tracking contributions from the last year. Users can build their identity on GitHub by adding extensive information to their profiles, including bio, company, location, website, and repositories, as well as tracking their contributions from the last year.', 'Signing out from a GitHub profile can be done by scrolling down and clicking the sign out button. Users can easily sign out from their GitHub profiles by scrolling down and clicking the sign out button.', 'Overview of creating a public repository on GitHub, including adding a readme file and choosing a license. The process of creating a public repository on GitHub is outlined, covering adding a readme file, choosing between public and private, and selecting a license.']}, {'end': 5120.782, 'start': 4770.698, 'title': 'Github repository basics', 'summary': 'Introduces the process of creating a new repository, navigating the repository page, understanding branches, creating and switching between branches, and explaining commits, highlighting the importance of branches and commits in github usage.', 'duration': 350.084, 'highlights': ['Creating a new repository involves adding a name, description, choosing between public or private, and initializing with options, resulting in the successful creation of the first repository with a single file and additional options for GitHub usage. The process of creating a new repository involves adding a name, description, choosing between public or private, and initializing with options, resulting in the successful creation of the first repository with a single file and additional options for GitHub usage.', 'Understanding branches is explained, emphasizing the purpose of branches to work on different features and their potential integration with the master branch, with a brief demonstration on creating and switching between branches. The explanation of branches emphasizes their purpose to work on different features and their potential integration with the master branch, with a demonstration on creating and switching between branches.', 'Clarifying the concept of commits, highlighting the recording of changes in branches and the unique identification assigned to each commit, enabling users to track the version history of project files. The concept of commits is clarified, highlighting the recording of changes in branches and the unique identification assigned to each commit, enabling users to track the version history of project files.']}, {'end': 5653.458, 'start': 5121.042, 'title': 'Github: making first commit and pull request', 'summary': 'Demonstrates making a first commit by adding a comment to the readme.txt file, understanding version control through history tracking, and creating a pull request to merge changes from a branch to the master branch, along with a case study on how microsoft implemented github.', 'duration': 532.416, 'highlights': ['The chapter demonstrates making a first commit by adding a comment to the readme.txt file.', 'Understanding version control through history tracking, allowing to distinguish between different changes and keeping a record of all the changes.', 'Creating a pull request to merge changes from a branch to the master branch, and confirming the merge.', "Microsoft's case study on how it transformed from being hesitant towards open source to becoming one of the biggest contributors, maintaining TypeScript, .NET, Windows Terminal, DARP, Helm, and more than a thousand other open source projects."]}], 'duration': 1286.779, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs4366679.jpg', 'highlights': ['The new repository option allows users to create files and directly interact with Git, enabling the addition of files to their GitHub account.', 'The new project button serves as a platform to track issues, features, and tasks related to code within a repository, along with the ability to connect with the devops build and deploy process.', 'The difference between the new repository and new project buttons lies in the fact that projects in GitHub are only a part of GitHub, while the new repository option is part of both GitHub and Git.', 'Creating and editing GitHub profile allows adding bio, company, location, website, and repositories, along with tracking contributions from the last year.', 'Overview of creating a public repository on GitHub, including adding a readme file and choosing a license.', 'Creating a new repository involves adding a name, description, choosing between public or private, and initializing with options, resulting in the successful creation of the first repository with a single file and additional options for GitHub usage.', 'Understanding branches is explained, emphasizing the purpose of branches to work on different features and their potential integration with the master branch, with a brief demonstration on creating and switching between branches.', 'Clarifying the concept of commits, highlighting the recording of changes in branches and the unique identification assigned to each commit, enabling users to track the version history of project files.', 'The chapter demonstrates making a first commit by adding a comment to the readme.txt file.', "Microsoft's case study on how it transformed from being hesitant towards open source to becoming one of the biggest contributors, maintaining TypeScript, .NET, Windows Terminal, DARP, Helm, and more than a thousand other open source projects."]}, {'end': 6980.176, 'segs': [{'end': 5946.713, 'src': 'embed', 'start': 5918.667, 'weight': 2, 'content': [{'end': 5923.891, 'text': 'create remote, i can get origin and if i add minus v i can get all the urls.', 'start': 5918.667, 'duration': 5.224}, {'end': 5928.033, 'text': 'i can also rename a remote repository, for example, instead of origin.', 'start': 5923.891, 'duration': 4.142}, {'end': 5934.397, 'text': "i want to, for example, if i have different remote repositories, then i can, for example, name it something else, let's.", 'start': 5928.033, 'duration': 6.364}, {'end': 5944.913, 'text': "so what i'm gonna do is i'm gonna gonna rename the origin to repo one if I do now get remote.", 'start': 5934.397, 'duration': 10.516}, {'end': 5946.713, 'text': 'so I have rappelman now.', 'start': 5944.913, 'duration': 1.8}], 'summary': "Using 'git remote', renamed 'origin' to 'repo one'.", 'duration': 28.046, 'max_score': 5918.667, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs5918667.jpg'}, {'end': 6086.041, 'src': 'embed', 'start': 6055.716, 'weight': 0, 'content': [{'end': 6058.316, 'text': 'old branch or the branch name.', 'start': 6055.716, 'duration': 2.6}, {'end': 6061.417, 'text': 'then this branch is created on the local module.', 'start': 6058.316, 'duration': 3.101}, {'end': 6067.619, 'text': 'Then this branch is created on my local repository and I have to push it to the remote repository.', 'start': 6062.357, 'duration': 5.262}, {'end': 6073.02, 'text': 'So the command to push it is get push, then the remote repository name and the branch name.', 'start': 6067.639, 'duration': 5.381}, {'end': 6075.698, 'text': 'this branch is moved,', 'start': 6073.997, 'duration': 1.701}, {'end': 6086.041, 'text': "i'm gonna open another window for chrome and now what i'm trying to do is we're going to go to the github and see if the branch has been created successfully or not.", 'start': 6075.698, 'duration': 10.343}], 'summary': 'Creating a new branch locally and pushing it to the remote repository, then checking if the branch was created on github.', 'duration': 30.325, 'max_score': 6055.716, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs6055716.jpg'}, {'end': 6361.638, 'src': 'embed', 'start': 6335.7, 'weight': 7, 'content': [{'end': 6344.382, 'text': 'while if we go to this example, then what is happening is that we have created a new branch, new temp, and then switch to that branch.', 'start': 6335.7, 'duration': 8.682}, {'end': 6350.184, 'text': 'so the minus m option here is for moving or renaming a branch.', 'start': 6344.382, 'duration': 5.802}, {'end': 6355.476, 'text': 'so generally the command follows is get branch minus m, old branch name and the new branch name.', 'start': 6350.184, 'duration': 5.292}, {'end': 6361.638, 'text': "if, if we go and try this example, then get branch minus m, let's call it temp.", 'start': 6355.476, 'duration': 6.162}], 'summary': "Creating a new branch 'temp' and renaming a branch using 'git branch -m' command.", 'duration': 25.938, 'max_score': 6335.7, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs6335700.jpg'}, {'end': 6404.388, 'src': 'embed', 'start': 6381.905, 'weight': 9, 'content': [{'end': 6390.941, 'text': 'the second argument will consider the default branch which is selected or the current branch which I am on as the branch which has to be renamed.', 'start': 6381.905, 'duration': 9.036}, {'end': 6399.385, 'text': "now. if I'll move temp to new temp, if I do now the gate branch, then temp has been renamed to new temp in the last step.", 'start': 6390.941, 'duration': 8.444}, {'end': 6404.388, 'text': "I'm pushing this, but let's see if it will push or not, but I think it will.", 'start': 6399.385, 'duration': 5.003}], 'summary': "Renamed 'temp' to 'new temp' and pushed successfully.", 'duration': 22.483, 'max_score': 6381.905, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs6381905.jpg'}, {'end': 6470.732, 'src': 'embed', 'start': 6438.797, 'weight': 10, 'content': [{'end': 6446.894, 'text': 'and now if i move this temp to new temp and then push it to the remote repository, then this will work as well.', 'start': 6438.797, 'duration': 8.097}, {'end': 6457.749, 'text': 'the same way, we can delete the remote branch.', 'start': 6454.688, 'duration': 3.061}, {'end': 6459.269, 'text': 'we already saw this example.', 'start': 6457.749, 'duration': 1.52}, {'end': 6462.07, 'text': "but let's now delete this branch that we created.", 'start': 6459.269, 'duration': 2.801}, {'end': 6463.911, 'text': 'so the command is dead.', 'start': 6462.07, 'duration': 1.841}, {'end': 6470.732, 'text': 'push. then we pass the dash delete option and then the remote repository name and then the branch name.', 'start': 6463.911, 'duration': 6.821}], 'summary': "Moving temp to new temp and pushing to remote repository works. deleting remote branch using 'git push --delete' command. demonstrated branch deletion.", 'duration': 31.935, 'max_score': 6438.797, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs6438797.jpg'}, {'end': 6541.914, 'src': 'embed', 'start': 6517.577, 'weight': 11, 'content': [{'end': 6527.748, 'text': 'so this option will force a push when otherwise git would reject your git push because you might have changed your repository history in pushing your repository.', 'start': 6517.577, 'duration': 10.171}, {'end': 6535.431, 'text': "so force push also lets you overwrite someone else's commit which have been pushed after your last work.", 'start': 6527.748, 'duration': 7.683}, {'end': 6541.914, 'text': "for example, let's consider that your repository is at commit a and you change something locally and committed.", 'start': 6535.431, 'duration': 6.483}], 'summary': 'Force push allows overwriting commits and history changes in git.', 'duration': 24.337, 'max_score': 6517.577, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs6517577.jpg'}], 'start': 5659.264, 'title': 'Managing git remote repositories', 'summary': 'Discusses configuring a local project as a remote repository, managing remote repositories in git, git branching and remote repository, git branch management, renaming, and force push in git. it covers adding, creating, renaming, pushing, and removing remote repositories, along with speed advantage, branch creation, deletion, renaming, and force push considerations.', 'chapters': [{'end': 5894.374, 'start': 5659.264, 'title': 'Configuring remote repository on local machine', 'summary': 'Discusses the process of configuring a local project as a remote repository, including adding the remote, creating a new repository on github, initializing the project, and pushing the project to the remote repository.', 'duration': 235.11, 'highlights': ['The process of configuring a local project as a remote repository involves adding the remote, creating a new repository on GitHub, initializing the project, and pushing the project to the remote repository. Configuring local project as remote repository, adding remote, creating new repository on GitHub, initializing project, pushing project to remote repository.', "Adding a remote involves copying the remote URL, executing 'git remote add ', and verifying the remote using 'git remote -v'. Adding a remote, copying remote URL, executing 'git remote add ', verifying remote using 'git remote -v'.", 'Creating a new repository on GitHub involves initializing the repository, adding files to the local repository, staging files, making the first commit, and adding the remote repository. Creating new repository on GitHub, initializing repository, adding files to local repository, staging files, making first commit, adding remote repository.']}, {'end': 6034.586, 'start': 5894.374, 'title': 'Managing remote repositories in git', 'summary': 'Covers the process of creating, renaming, and removing remote repositories in git, along with the reasons for removing and the impact on remote tracking branches and configuration settings. additionally, it discusses the speed advantage of cloning after removing the remote repository.', 'duration': 140.212, 'highlights': ["The process of creating, renaming, and removing remote repositories in Git is explained, including practical examples and usage of commands like 'git remote', 'git remote rename', and 'git remote remove', providing a comprehensive understanding for effective repository management.", 'The reasons for removing a remote repository, such as server relocation or contributor disengagement, are detailed, emphasizing the potential impact on remote tracking branches and configuration settings, highlighting the need for thorough consideration before removal.', 'The advantage of faster cloning after removing a remote repository is highlighted, showcasing the practical benefits and improved efficiency in managing repositories in Git.']}, {'end': 6335.7, 'start': 6034.586, 'title': 'Git branching and remote repository', 'summary': 'Covers the process of creating, deleting, renaming and pushing branches in a local and remote git repository. it includes steps to create, delete, and rename branches, as well as pushing changes to the remote repository, resulting in the existence of multiple branches on the remote repository.', 'duration': 301.114, 'highlights': ["The process of creating a new branch in the local repository and pushing it to the remote repository is detailed, including the commands 'git branch', 'git push', and the verification of the branch creation on the remote repository. The process of creating a new branch in the local repository is detailed, along with the subsequent push to the remote repository using the 'git push' command. Additionally, the verification of the branch creation on the remote repository is emphasized.", "The process of renaming a branch in both the local and remote repositories is explained, involving the commands 'git branch -m' and 'git push' to ensure the changes are reflected on the remote repository. The process of renaming a branch in both the local and remote repositories is explained, including the usage of the 'git branch -m' command for renaming and the subsequent 'git push' to synchronize the changes on the remote repository.", "The distinction between deleting a branch from the remote and the local repository is outlined, emphasizing the steps to first delete it from the remote and then from the local, employing the command 'git branch -d'. The distinction between deleting a branch from the remote and the local repository is outlined, emphasizing the sequential steps of first deleting it from the remote and then from the local using the 'git branch -d' command."]}, {'end': 6492.169, 'start': 6335.7, 'title': 'Git branch management and renaming', 'summary': "Covers the process of renaming a branch in git using the 'git branch -m' command, including renaming, moving, and deleting branches, with a focus on remote branch management and the importance of setting up password-less ssh for remote work.", 'duration': 156.469, 'highlights': ["The 'git branch -m' command is used to move or rename a branch, with the syntax 'git branch -m old_branch_name new_branch_name'.", "Renaming a branch involves using the 'git branch -m' command to rename an existing branch to a new name, with the ability to manipulate branch names locally before pushing changes to the remote repository.", "The process of deleting a remote branch involves using the 'git push --delete origin branch_name' command, emphasizing the importance of password-less ssh setup for remote work."]}, {'end': 6980.176, 'start': 6492.984, 'title': 'Force push in git', 'summary': "Explains the concept of force push in git, which allows overwriting changes in the remote repository, and highlights the dangers and best practices associated with its usage, while emphasizing the need for maintaining repository consistency and consideration of co-workers' changes.", 'duration': 487.192, 'highlights': ['Force push allows overwriting changes in the remote repository, but is highly dangerous and unclean in a shared repository. Force push enables overwriting changes in the remote repository, but it is cautioned as a highly dangerous and unclean solution in a shared repository.', "Best practice recommends using 'git revert' or manually merging conflicts to maintain repository consistency and keep co-workers happy. The best practice advises using 'git revert' or manually merging conflicts to uphold repository consistency and ensure co-worker satisfaction.", "Comparing file versions and locations using 'git diff' aids in identifying changes and resolving conflicts. The 'git diff' command facilitates comparing file versions and locations, aiding in identifying changes and resolving conflicts within the repository."]}], 'duration': 1320.912, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs5659264.jpg', 'highlights': ['Configuring local project as remote repository, adding remote, creating new repository on GitHub, initializing project, pushing project to remote repository.', "Adding a remote, copying remote URL, executing 'git remote add ', verifying remote using 'git remote -v'.", 'Creating new repository on GitHub, initializing repository, adding files to local repository, staging files, making first commit, adding remote repository.', "The process of creating, renaming, and removing remote repositories in Git is explained, including practical examples and usage of commands like 'git remote', 'git remote rename', and 'git remote remove', providing a comprehensive understanding for effective repository management.", 'The advantage of faster cloning after removing a remote repository is highlighted, showcasing the practical benefits and improved efficiency in managing repositories in Git.', "The process of creating a new branch in the local repository is detailed, along with the subsequent push to the remote repository using the 'git push' command. Additionally, the verification of the branch creation on the remote repository is emphasized.", "The process of renaming a branch in both the local and remote repositories is explained, including the usage of the 'git branch -m' command for renaming and the subsequent 'git push' to synchronize the changes on the remote repository.", "The distinction between deleting a branch from the remote and the local repository is outlined, emphasizing the sequential steps of first deleting it from the remote and then from the local using the 'git branch -d' command.", "Renaming a branch involves using the 'git branch -m' command to rename an existing branch to a new name, with the ability to manipulate branch names locally before pushing changes to the remote repository.", "The process of deleting a remote branch involves using the 'git push --delete origin branch_name' command, emphasizing the importance of password-less ssh setup for remote work.", 'Force push enables overwriting changes in the remote repository, but it is cautioned as a highly dangerous and unclean solution in a shared repository.', "The best practice advises using 'git revert' or manually merging conflicts to uphold repository consistency and ensure co-worker satisfaction.", "The 'git diff' command facilitates comparing file versions and locations, aiding in identifying changes and resolving conflicts within the repository."]}, {'end': 7886.614, 'segs': [{'end': 7134.058, 'src': 'embed', 'start': 7110.872, 'weight': 1, 'content': [{'end': 7118.434, 'text': 'so this line is not there in the first file, which is test.txt, which is the latest comment.', 'start': 7110.872, 'duration': 7.562}, {'end': 7120.375, 'text': 'this is added from local repository.', 'start': 7118.434, 'duration': 1.941}, {'end': 7124.115, 'text': 'hat is, there is not there in the other file.', 'start': 7120.375, 'duration': 3.74}, {'end': 7127.956, 'text': 'we can also go ahead and compare file with any comment.', 'start': 7124.115, 'duration': 3.841}, {'end': 7129.137, 'text': 'so how can i do it?', 'start': 7127.956, 'duration': 1.181}, {'end': 7130.437, 'text': 'you can again.', 'start': 7129.137, 'duration': 1.3}, {'end': 7133.178, 'text': "let's look at the log and then compare with.", 'start': 7130.437, 'duration': 2.741}, {'end': 7134.058, 'text': "let's copy this.", 'start': 7133.178, 'duration': 0.88}], 'summary': 'Comparing two files for differences and discussing the process.', 'duration': 23.186, 'max_score': 7110.872, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs7110872.jpg'}, {'end': 7321.018, 'src': 'embed', 'start': 7282.329, 'weight': 3, 'content': [{'end': 7286.31, 'text': 'so fork is the another command that we have in the gift block.', 'start': 7282.329, 'duration': 3.981}, {'end': 7288.812, 'text': 'so what happens is that we will.', 'start': 7286.31, 'duration': 2.502}, {'end': 7292.093, 'text': 'it allows us to copy other repositories for our own use.', 'start': 7288.812, 'duration': 3.281}, {'end': 7298.224, 'text': 'So we can experiment with the changes or we can go ahead and start the development from that branch.', 'start': 7292.401, 'duration': 5.823}, {'end': 7303.687, 'text': 'So this is like a very popular and the useful feature of GitHub mainly.', 'start': 7298.464, 'duration': 5.223}, {'end': 7308.069, 'text': 'So it acts as the bridge between original repository and the personal copy.', 'start': 7304.087, 'duration': 3.982}, {'end': 7314.513, 'text': 'By personal copy, we mean that we can copy the data, the complete metadata in the repository, and then we can start working on it.', 'start': 7308.129, 'duration': 6.384}, {'end': 7316.775, 'text': "the only thing you won't get are the settings.", 'start': 7314.833, 'duration': 1.942}, {'end': 7321.018, 'text': 'so this is core of the social coding, which is called this open source at github.', 'start': 7316.775, 'duration': 4.243}], 'summary': "Github's 'fork' command allows copying other repositories for personal use, enabling experimentation and development from that branch. it serves as a bridge between the original repository and the personal copy, facilitating open source collaboration.", 'duration': 38.689, 'max_score': 7282.329, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs7282329.jpg'}, {'end': 7648.17, 'src': 'embed', 'start': 7577.746, 'weight': 0, 'content': [{'end': 7581.51, 'text': 'so instead of using origin i can use upstream.', 'start': 7577.746, 'duration': 3.764}, {'end': 7585.529, 'text': 'we already up to date.', 'start': 7583.908, 'duration': 1.621}, {'end': 7589.951, 'text': "i can also do the git diff or let's say, not the diff.", 'start': 7585.529, 'duration': 4.422}, {'end': 7596.115, 'text': 'but the difference is that this line should be treated as dummy does not exist in the upstream.', 'start': 7589.951, 'duration': 6.164}, {'end': 7598.316, 'text': 'it is only in my remote repository.', 'start': 7596.115, 'duration': 2.201}, {'end': 7604.26, 'text': 'so this is the change that i can see, why it is only showing the branches upstream.', 'start': 7598.316, 'duration': 5.944}, {'end': 7610.865, 'text': "so i cannot go ahead and make changes in the upstream because i don't have the ownership.", 'start': 7605.06, 'duration': 5.805}, {'end': 7614.668, 'text': 'i can suggest changes and then it will be up to the approval of it.', 'start': 7610.865, 'duration': 3.803}, {'end': 7622.434, 'text': 'however, if something has been changed in the upstream, then what i can do is i can merge it with my local repository, which will be similar to pull.', 'start': 7614.668, 'duration': 7.766}, {'end': 7626.137, 'text': 'so it will pull the data onto my local repository and i can work on it.', 'start': 7622.434, 'duration': 3.703}, {'end': 7629.877, 'text': 'so now coming to pull pull is the very useful command.', 'start': 7626.894, 'duration': 2.983}, {'end': 7631.178, 'text': 'we have been using it.', 'start': 7629.877, 'duration': 1.301}, {'end': 7633.4, 'text': 'so this is like opposite of push and push.', 'start': 7631.178, 'duration': 2.222}, {'end': 7640.947, 'text': 'we are pushing from local repository to the remote, while in pull we are downloading the data from remote to the local.', 'start': 7633.4, 'duration': 7.547}, {'end': 7648.17, 'text': 'that downloaded data has been pushed by some other user for some other commit or from from the feature.', 'start': 7641.605, 'duration': 6.565}], 'summary': 'Using git commands like diff, pull, and merge to manage changes and updates in remote repositories.', 'duration': 70.424, 'max_score': 7577.746, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs7577746.jpg'}, {'end': 7739.671, 'src': 'embed', 'start': 7709.837, 'weight': 9, 'content': [{'end': 7712.4, 'text': 'So they use pull requests to manage the changes.', 'start': 7709.837, 'duration': 2.563}, {'end': 7714.823, 'text': 'Now, how do we create a pull request??', 'start': 7713.181, 'duration': 1.642}, {'end': 7720.155, 'text': 'now, after we have made changes to the fork, after we have forked the project,', 'start': 7715.29, 'duration': 4.865}, {'end': 7725.219, 'text': 'we create a pull request to ask us to upstream request repository to merge our changes.', 'start': 7720.155, 'duration': 5.064}, {'end': 7727.441, 'text': 'we are not committing them directly.', 'start': 7725.219, 'duration': 2.222}, {'end': 7729.543, 'text': 'the word here to note is the ask.', 'start': 7727.441, 'duration': 2.102}, {'end': 7733.427, 'text': 'so below the steps, we confirm the repository we want to change.', 'start': 7729.543, 'duration': 3.884}, {'end': 7739.671, 'text': 'we select the branch of the upstream repository to merge and we use the base branch from the drop down one menu.', 'start': 7733.427, 'duration': 6.244}], 'summary': 'Pull requests are used to manage changes, creating a pull request involves selecting the repository and branch, and asking for changes to be merged.', 'duration': 29.834, 'max_score': 7709.837, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs7709837.jpg'}], 'start': 6980.176, 'title': 'Git commands and github features', 'summary': 'Covers comparing files, branches, and pull requests in git, including using git diff and git fetch. it also explains the github fork command for copying repositories, and the concept of pull requests for code collaboration in git.', 'chapters': [{'end': 7282.329, 'start': 6980.176, 'title': 'Comparing files and branches in git', 'summary': 'Covers the process of comparing files, commits, local branches, and remote tracking branches in git, including using commands like git diff and git fetch to identify and analyze differences and updates.', 'duration': 302.153, 'highlights': ['The chapter covers comparing files, commits, local branches, and remote tracking branches in Git. The transcript provides detailed information on comparing files, commits, local branches, and remote tracking branches in Git.', "Explanation of using 'git diff' command to compare two files and identify changes. The speaker explains the usage of 'git diff' to compare two files and identify differences and changes.", 'Demonstration of comparing two commits using their commit IDs. The transcript includes a demonstration of comparing two commits in Git using their respective commit IDs.', "Steps for updating remote tracking branches using 'git fetch'. The process of updating remote tracking branches using the 'git fetch' command is outlined in the transcript.", 'Explanation of comparing local branches with remote tracking branches. The transcript provides an explanation of comparing local branches with remote tracking branches in Git.']}, {'end': 7626.137, 'start': 7282.329, 'title': 'Github forking feature', 'summary': 'Explains the github fork command, which allows users to copy other repositories for their own use, experiment with changes, and start development from a branch, acting as a bridge between the original repository and the personal copy, with a focus on the social coding aspect and bug fixes.', 'duration': 343.808, 'highlights': ['GitHub fork command allows users to copy other repositories for their own use, experiment with changes, and start development from a branch, acting as a bridge between the original repository and the personal copy. This highlights the primary function of the GitHub fork command, emphasizing its utility for copying and experimenting with changes from other repositories.', "Forking is a core feature of social coding and open source at GitHub, used to suggest changes or use someone else's project as a starting point for personal use. This highlight emphasizes the role of forking in social coding and open source, underlining its significance in suggesting changes and utilizing existing projects as starting points.", "To sync changes from the original repository which was forked, users configure a remote that points to the upstream repository using the 'git remote add upstream' command. This detail explains the process of syncing changes from the original repository using the 'git remote add upstream' command, highlighting a key step in managing forked repositories."]}, {'end': 7886.614, 'start': 7626.894, 'title': 'Understanding pull requests in git', 'summary': 'Explains the concept of pull requests in git, highlighting their use in downloading data from remote to local repositories, creating pull requests for code collaboration, and managing changes from different contributors, commonly used by teams and open source projects.', 'duration': 259.72, 'highlights': ['Pull requests are used to download data from remote to local repositories, commonly used by teams and organizations with more than one contributor. The pull command in Git is used to download the data from remote to the local repository, commonly used by teams and organizations with multiple contributors.', 'Developers work on their feature branch and raise a pull request to merge to shared repository, commonly used by open source projects with many contributors. Developers work on their feature branch and raise a pull request to merge changes to a shared repository, commonly used by open source projects with numerous contributors.', 'Open source projects usually use pull requests to manage changes from different contributors. Open source projects typically use pull requests to manage changes from various contributors.', 'Creating a pull request involves asking the upstream repository to merge the changes, selecting the base and head branch, and comparing the changes, ensuring collaboration on code with other people. Creating a pull request involves asking the upstream repository to merge the changes, selecting the base and head branch, and comparing the changes, ensuring collaboration on code with other people.']}], 'duration': 906.438, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs6980176.jpg', 'highlights': ['The chapter covers comparing files, commits, local branches, and remote tracking branches in Git.', "Explanation of using 'git diff' command to compare two files and identify changes.", 'Demonstration of comparing two commits using their commit IDs.', "Steps for updating remote tracking branches using 'git fetch'.", 'Explanation of comparing local branches with remote tracking branches.', 'GitHub fork command allows users to copy other repositories for their own use, experiment with changes, and start development from a branch.', "Forking is a core feature of social coding and open source at GitHub, used to suggest changes or use someone else's project as a starting point for personal use.", "To sync changes from the original repository which was forked, users configure a remote that points to the upstream repository using the 'git remote add upstream' command.", 'Pull requests are used to download data from remote to local repositories, commonly used by teams and organizations with more than one contributor.', 'Developers work on their feature branch and raise a pull request to merge to shared repository, commonly used by open source projects with many contributors.', 'Open source projects usually use pull requests to manage changes from different contributors.', 'Creating a pull request involves asking the upstream repository to merge the changes, selecting the base and head branch, and comparing the changes, ensuring collaboration on code with other people.']}, {'end': 9203.07, 'segs': [{'end': 8010.151, 'src': 'embed', 'start': 7983.654, 'weight': 2, 'content': [{'end': 7987.297, 'text': 'Also, do check out our Edureka DevOps training certification.', 'start': 7983.654, 'duration': 3.643}, {'end': 7989.899, 'text': 'The link is given in the description box below.', 'start': 7987.577, 'duration': 2.322}, {'end': 7993.604, 'text': "Now let's move on to the first part without any further ado.", 'start': 7990.643, 'duration': 2.961}, {'end': 7995.505, 'text': 'What is a workflow?', 'start': 7994.124, 'duration': 1.381}, {'end': 8001.666, 'text': 'Workflow is about controlling the sequence of events that transform a piece of work,', 'start': 7996.085, 'duration': 5.581}, {'end': 8006.148, 'text': 'to ensure every person on the team can use the best tool at the right time.', 'start': 8001.666, 'duration': 4.482}, {'end': 8010.151, 'text': 'To put it simply, a workflow is how you get work done.', 'start': 8006.588, 'duration': 3.563}], 'summary': 'Devops training certification available at edureka. workflow ensures efficient work processes.', 'duration': 26.497, 'max_score': 7983.654, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs7983654.jpg'}, {'end': 8116.311, 'src': 'embed', 'start': 8071.579, 'weight': 0, 'content': [{'end': 8078.023, 'text': 'because it is not the best decision when you work in a continuous delivery or continuous deployment environment,', 'start': 8071.579, 'duration': 6.444}, {'end': 8080.244, 'text': 'where this particular concept is missing.', 'start': 8078.023, 'duration': 2.221}, {'end': 8089.909, 'text': 'Another good point of this flow is that it fits perfectly when you work in a team and one or more developers have to collaborate on the same feature.', 'start': 8080.844, 'duration': 9.065}, {'end': 8097.776, 'text': 'So the main branches in git flow are master, develop, features, hotfix and the last one is release.', 'start': 8090.709, 'duration': 7.067}, {'end': 8100.418, 'text': "Now let's discuss about GitHub flow.", 'start': 8098.376, 'duration': 2.042}, {'end': 8108.626, 'text': 'GitHub flow is a lightweight branching workflow that supports teams and projects where deployments are made regularly.', 'start': 8100.818, 'duration': 7.808}, {'end': 8112.869, 'text': 'It is centered around a particular feature and small confined changes.', 'start': 8109.126, 'duration': 3.743}, {'end': 8116.311, 'text': "So now I'll discuss some of the key features of GitHub.", 'start': 8113.59, 'duration': 2.721}], 'summary': 'Git flow and github flow are branching workflows for team collaboration and deployment, with key branches like master, develop, features, hotfix, and release in git flow and a focus on regular deployments and small changes in github flow.', 'duration': 44.732, 'max_score': 8071.579, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs8071579.jpg'}], 'start': 7886.614, 'title': 'Managing open source projects', 'summary': 'Explores workflow management in open source projects, comparing git flow and github flow, emphasizing the importance of github workflow and its key features. it discusses the challenges with git flow and the advantages of github flow, detailing the steps of github flow, including branching, adding commits, opening a pull request, discussing and reviewing code, and testing changes. additionally, it highlights the importance of testing in a production-like environment, merging code, and the advantages of branching in git.', 'chapters': [{'end': 8166.773, 'start': 7886.614, 'title': 'Managing open source projects', 'summary': 'Explores the workflow management in open source projects, comparing git flow and github flow, highlighting the benefits and drawbacks, emphasizing the importance of github workflow and its key features.', 'duration': 280.159, 'highlights': ['GitHub flow is a lightweight branching workflow that supports regular deployments and emphasizes small, confined changes, with the master branch always being production ready. GitHub flow supports regular deployments, with the master branch always production-ready, emphasizing small, confined changes.', 'Git flow works with different branches to manage each phase of software development, suitable for projects with the concept of release and collaborative development. Git flow manages different branches for each phase of software development, suitable for projects with the concept of release and collaborative development.', "Workflow is about controlling the sequence of events to transform work and involves change management, with no universal solution for every team's needs. Workflow involves controlling the sequence of events to transform work and includes change management, with no universal solution for every team's needs."]}, {'end': 8636.048, 'start': 8167.153, 'title': 'Github workflow and git flow', 'summary': 'Discusses the challenges with git flow and the advantages of github flow, emphasizing the simplicity and deployment frequency. it details the steps of github flow, including branching, adding commits, opening a pull request, discussing and reviewing code, and testing changes.', 'duration': 468.895, 'highlights': ["Advantages of GitHub flow GitHub's simpler workflow allows for quick understanding, easy enforcement without helper scripts, and comfortable deployment, facilitating multiple daily deployments.", 'Key principles of GitHub flow The GitHub flow revolves around creating branches for features, ensuring that the master branch is always deployable, adding descriptive commits, and initiating pull requests for discussions and reviews, highlighting the importance of clear commit messages and proper problem description.', "Enforcement challenges of Git flow Git flow's complexity necessitates manual steps, which are not comfortable for developers using graphical user interfaces, leading to the need for a helper script to enforce the flow, highlighting the inefficiency and complexity of the process."]}, {'end': 9203.07, 'start': 8636.889, 'title': 'Github workflow and branching in git', 'summary': "Highlights the github workflow, emphasizing the importance of testing in a production-like environment, merging code, and the advantages of branching in git, with details on lightweight branching, the feature branch workflow, and git's storage strategy.", 'duration': 566.181, 'highlights': ['Git branching is lightweight, making branching operations nearly instantaneous and switching back and forth between branches generally just as fast. Git branches are lightweight, allowing nearly instantaneous branching operations and fast switching between branches, which encourages workflows that branch and merge often.', 'Feature branches provide an isolated environment for every change to the code base, ensuring that the master branch always contains production quality code. Feature branches offer an isolated environment for changes, ensuring the master branch maintains production quality code and organizational benefits.', 'Annotated tags store extra metadata such as trigger name, email, and date, making them important for public releases. Annotated tags in Git store extra metadata like trigger name, email, and date, which is crucial for public releases.']}], 'duration': 1316.456, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs7886614.jpg', 'highlights': ['GitHub flow supports regular deployments, with the master branch always production-ready, emphasizing small, confined changes.', 'Advantages of GitHub flow: quick understanding, easy enforcement without helper scripts, and comfortable deployment, facilitating multiple daily deployments.', 'Git branches are lightweight, allowing nearly instantaneous branching operations and fast switching between branches, which encourages workflows that branch and merge often.']}, {'end': 10531.93, 'segs': [{'end': 9864.379, 'src': 'embed', 'start': 9810.867, 'weight': 0, 'content': [{'end': 9817.228, 'text': 'here remote name is origin and the branch name is feature.', 'start': 9810.867, 'duration': 6.361}, {'end': 9818.709, 'text': 'this will again ask for credentials.', 'start': 9817.228, 'duration': 1.481}, {'end': 9825.396, 'text': 'strongly suggest you to use the passwordless SSS setup in the get.', 'start': 9820.194, 'duration': 5.202}, {'end': 9829.458, 'text': 'now the remote branches get has been removed, but only removed.', 'start': 9825.396, 'duration': 4.062}, {'end': 9835.361, 'text': 'and now, if you will see, the features still access, because this is the on the local branch, another way to remove that,', 'start': 9829.458, 'duration': 5.903}, {'end': 9839.062, 'text': 'as using get pushed the remote name call on the branch name, for example.', 'start': 9835.361, 'duration': 3.701}, {'end': 9840.963, 'text': "let's push the feature again.", 'start': 9839.062, 'duration': 1.901}, {'end': 9843.024, 'text': "we are deleting it, we're not pushing it.", 'start': 9840.963, 'duration': 2.061}, {'end': 9854.049, 'text': "so let's remove the minus D and let's push the feature again To remove it.", 'start': 9843.024, 'duration': 11.025}, {'end': 9856.412, 'text': 'I can only do add colon here.', 'start': 9854.049, 'duration': 2.363}, {'end': 9859.334, 'text': "But before that, let's first look at the branches.", 'start': 9856.492, 'duration': 2.842}, {'end': 9861.436, 'text': 'So I have a feature branch.', 'start': 9859.915, 'duration': 1.521}, {'end': 9864.379, 'text': 'And to delete it, I just add colon before.', 'start': 9861.937, 'duration': 2.442}], 'summary': "Suggest using passwordless ssh setup. removed remote branches. deleting feature branch using 'git push' and 'git branch -d'.", 'duration': 53.512, 'max_score': 9810.867, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs9810867.jpg'}, {'end': 10342.238, 'src': 'embed', 'start': 10315.686, 'weight': 2, 'content': [{'end': 10321.89, 'text': 'by this command we can use the git stash list and to inspect or check the details we use git stash.', 'start': 10315.686, 'duration': 6.204}, {'end': 10323.391, 'text': 'it show stash.', 'start': 10321.89, 'duration': 1.501}, {'end': 10325.353, 'text': "so let's look at this.", 'start': 10323.391, 'duration': 1.962}, {'end': 10328.835, 'text': 'so we are going to continue using the module 3 project.', 'start': 10325.353, 'duration': 3.482}, {'end': 10330.476, 'text': "so let's do git status.", 'start': 10328.835, 'duration': 1.641}, {'end': 10336.691, 'text': "So we have this untracked file and now I'm going to change the test.txt.", 'start': 10331.343, 'duration': 5.348}, {'end': 10342.238, 'text': "Now I'm going to remove all this and say this is for stashing demo.", 'start': 10337.532, 'duration': 4.706}], 'summary': 'The transcript covers using git stash to manage changes in a project.', 'duration': 26.552, 'max_score': 10315.686, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs10315686.jpg'}], 'start': 9203.51, 'title': 'Git branching and conflict resolution', 'summary': 'Covers git basics, lightweight tags, managing branches, and head pointer, along with creating, switching, and deleting branches. it also discusses conflict resolution, merge tools, manual resolution, and stashing for uncommitted changes.', 'chapters': [{'end': 9380.09, 'start': 9203.51, 'title': 'Git basics and branching strategy', 'summary': "Explains the storage strategy for object structure in git, the creation of lightweight tags as bookmarks to commits, the management of branches including local and remote branches, and the role of the 'head' pointer in tracking the last commit of a branch.", 'duration': 176.58, 'highlights': ['The storage strategy for object structure in Git involves blocks representing files as blobs, a tree containing directory content and specifying files stored as blobs, and a commit containing metadata and a pointer to the root tree.', 'Creation of lightweight tags in Git allows for quick links to relevant commits as bookmarks, providing a name and a pointer to a commit.', "The 'head' pointer in Git always points to the last commit of the branch and moves when checking out a new branch or making additional commits.", 'Git features two types of branches: local branches that exist only on the local machine and remote branches on a remote location, with the default remote name being origin.']}, {'end': 9864.379, 'start': 9380.09, 'title': 'Git branching and tracking', 'summary': 'Covers creating and managing branches in git, including best practices for naming branches, creating and switching between branches, as well as deleting local and remote branches, with examples and commands provided.', 'duration': 484.289, 'highlights': ['Creating branches for parallel and independent work Developers can create additional branches such as dev, feature, and bug to work parallelly and independently on individual tasks.', "Best practices for naming branches Conventions provided include naming feature branches as 'feature', bug branches as 'bug', and release branches as 'release'.", "Creating and switching between branches in Git Explains the process of creating branches using 'git checkout -b' and creating a branch from a commit hash, with examples provided.", "Deleting local and remote branches in Git Details the process of deleting local branches using 'git branch -d' or '-D', and deleting remote branches using 'git push --delete'."]}, {'end': 10110.126, 'start': 9865.06, 'title': 'Git merge conflict resolution', 'summary': 'Discusses how git makes merging easy, but in cases of conflicting changes to the same file, manual resolution is required. it also covers the use of merge tools like kdiff3 for conflict resolution.', 'duration': 245.066, 'highlights': ['Git makes merging easy and automatically integrates new changes in most cases, but conflicts arise when multiple users modify the same lines in a file. Git simplifies merging by automatically integrating new changes, but conflicts occur when multiple users modify the same lines in a file, requiring manual resolution.', 'Merge conflicts are resolved manually by users, and Git provides different merge tools like kdiff3 to compare and choose the required changes. Merge conflicts are resolved manually by users, and Git offers various merge tools like kdiff3 to compare and choose the required changes for resolution.', 'The example demonstrates how conflicting changes in branches lead to a merge conflict, which can be resolved using merge tools like kdiff3. The provided example illustrates how conflicting changes in branches result in a merge conflict, which can be resolved using merge tools like kdiff3.']}, {'end': 10531.93, 'start': 10110.126, 'title': 'Conflict resolution & stashing in git', 'summary': 'Covers conflict resolution by displaying the number of conflicts and explaining how to resolve them manually, and the use of stashing to save and reapply uncommitted changes in a working directory.', 'duration': 421.804, 'highlights': ['The chapter covers conflict resolution by displaying the number of conflicts and explaining how to resolve them manually The transcript provides insights into identifying and resolving conflicts in Git, specifically discussing the total number of conflicts and the process of manually resolving conflicts by choosing changes from different branches.', 'The use of stashing to save and reapply uncommitted changes in a working directory The transcript details the purpose and process of stashing in Git, explaining how it saves the dirty state of the working directory, tracks uncommitted changes, and allows reapplication of changes at any time, providing a solution for switching between branches without committing half-done work.']}], 'duration': 1328.42, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs9203510.jpg', 'highlights': ['Git simplifies merging by automatically integrating new changes, but conflicts occur when multiple users modify the same lines in a file, requiring manual resolution.', 'The use of stashing to save and reapply uncommitted changes in a working directory.', 'Creating branches for parallel and independent work Developers can create additional branches such as dev, feature, and bug to work parallelly and independently on individual tasks.', 'The storage strategy for object structure in Git involves blocks representing files as blobs, a tree containing directory content and specifying files stored as blobs, and a commit containing metadata and a pointer to the root tree.']}, {'end': 11977.14, 'segs': [{'end': 11339.024, 'src': 'embed', 'start': 11312.819, 'weight': 1, 'content': [{'end': 11321.406, 'text': 'by default, the option toggles display of visual div stat content that shows what changed since the last database.', 'start': 11312.819, 'duration': 8.587}, {'end': 11328.92, 'text': 'and then we have a rebase dot auto squash which is a boolean value that toggles the auto squash behavior.', 'start': 11322.637, 'duration': 6.283}, {'end': 11339.024, 'text': 'and then we have a rebase dot missing commits check which can be set to multiple values which change rebase behavior around missing commits.', 'start': 11328.92, 'duration': 10.104}], 'summary': 'Config settings: visual div stat, rebase auto squash, missing commits check.', 'duration': 26.205, 'max_score': 11312.819, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs11312819.jpg'}, {'end': 11874.969, 'src': 'embed', 'start': 11846.71, 'weight': 0, 'content': [{'end': 11851.493, 'text': 'So that is why we use hyphen i and the rebase keyword is used to execute rebasing.', 'start': 11846.71, 'duration': 4.783}, {'end': 11853.655, 'text': 'I hope both of these differences are clear.', 'start': 11851.933, 'duration': 1.722}, {'end': 11858.598, 'text': "Now let's look at the intricate details and the differences between git merge and git rebase.", 'start': 11854.095, 'duration': 4.503}, {'end': 11861.78, 'text': 'The first difference is based on the project history.', 'start': 11859.378, 'duration': 2.402}, {'end': 11865.582, 'text': 'Rebase provides a much cleaner project history than git merge.', 'start': 11862.24, 'duration': 3.342}, {'end': 11867.644, 'text': "I'm pretty sure you're clear of that by now.", 'start': 11865.883, 'duration': 1.761}, {'end': 11869.965, 'text': 'The second difference is navigation.', 'start': 11868.184, 'duration': 1.781}, {'end': 11874.969, 'text': 'It is easier to navigate through the project in rebase than it is in git merge.', 'start': 11870.506, 'duration': 4.463}], 'summary': 'Using git rebase gives a cleaner project history and easier navigation compared to git merge.', 'duration': 28.259, 'max_score': 11846.71, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs11846710.jpg'}], 'start': 10532.55, 'title': 'Git workflow', 'summary': "Covers git stash for temporarily storing changes, viewing staged and unstaged files, and applying 'git stash', introduction to git rebase, understanding its benefits over merging and using interactive rebase, discussing pitfalls, benefits, and best practices of using git rebase and merge, and comparing git merge and rebase to understand their differences and when to use each option.", 'chapters': [{'end': 10607.875, 'start': 10532.55, 'title': 'Git stash and status update', 'summary': "Explains the process of using 'git stash' to temporarily store changes, viewing the status of staged and unstaged files, and applying 'git stash' to move files to the unstaged area, resulting in an up-to-date status.", 'duration': 75.325, 'highlights': ["The 'git stash' command is used to temporarily store changes, and after stashing the changes, the branch is shown to be up to date with no changes left in the branch.", "The 'git status' command is used to view the status of files, and it shows that the branch is up to date after applying 'git stash'.", "By using 'git stash apply', the files are moved to the unstaged area, updating the status of the branch."]}, {'end': 11357.499, 'start': 10608.953, 'title': 'Introduction to git rebase', 'summary': 'Introduces git rebase, explaining the concept of rebasing, its benefits over merging, and how to use interactive rebase to polish feature branches, with emphasis on maintaining a clean and linear project history.', 'duration': 748.546, 'highlights': ['Rebasing is the process of moving or combining a sequence of commits to a new base commit, making it appear as if you created your branch from a different commit. Rebasing allows the branch to be moved to a new base commit, creating a linear project history and avoiding merge commits.', 'The primary reason for rebasing is to maintain a linear project history and facilitate a clean merge of the feature branch back into the master branch. Rebasing helps in integrating upstream changes while maintaining a clean and linear project history, making it easier to merge feature branches back into the master.', 'Interactive rebasing gives complete control over the project history, allowing developers to alter individual commits, reorder commit listings, and clean up the history before merging it into the main core base. Interactive rebasing provides developers with the flexibility to modify individual commits, reorder them, and clean up the history before merging, resulting in a polished feature branch and a clean project history.']}, {'end': 11705.471, 'start': 11357.879, 'title': 'Understanding git rebase and merge', 'summary': 'Discusses the pitfalls, benefits, and best practices of using git rebase and merge, emphasizing the frequency of conflicts during rebase, the advantages of a clean linear history using rebase, and the importance of using merge for preserving history and working with a big team.', 'duration': 347.592, 'highlights': ['Using rebase to keep your feature branch updated requires that you resolve similar conflicts again and again. Rebasing a feature branch against master may lead to frequent conflict resolution, impacting development efficiency.', 'Rebasing is better to streamline a complex history. Here you are able to change the commit history by using interactive rebase, that is, hyphen I. Rebasing is recommended for streamlining complex history and allows changing commit history through interactive rebase, enhancing code maintainability.', 'A more serious rebase caveat is lost commits from interactive history rewriting. Interactive history rewriting during rebase, such as squash or drop, may result in the loss of commits, necessitating the use of git ref log for restoration.', 'Merge preserves history, whereas rebase rewrites it. Git merge is essential for preserving history, while rebase is suitable for creating a clean, linear history and manipulating commit messages.', 'Merging can lead to intensely polluted history and make debugging using git bisect harder due to numerous merge commits. Merge can clutter history and complicate debugging, impacting code traceability and maintainability.']}, {'end': 11977.14, 'start': 11705.871, 'title': 'Git merge vs rebase', 'summary': 'Discusses the differences between git merge and git rebase, highlighting the fact that merge and rebase have one similarity but several differences, with rebase providing a cleaner project history, easier navigation, and more steps, while merge allows for more traceability of branches. it also explains when to use each option based on the need for a clean history or preserving history changes.', 'duration': 271.269, 'highlights': ['Rebase provides a much cleaner project history than git merge, making it easier to navigate through the project, and although it involves more steps, each step is comparatively small, which is a difference between git merge and git rebase.', 'Merge is a one-step operation with one place to resolve conflicts, while rebase is a multi-step operation, and in Git Merge, the developer can see when the upstream changes were incorporated into the feature, which is a difference between Git Merge and Git Rebase.', "If you prefer to have a clean history, then you can always choose rebase, while if you need to preserve the history changes, then merge would definitely be the best choice, and if you and your team are not familiar with or do not understand the intricacies of rebase, then you probably shouldn't use it, making the decision of using merge the safest option."]}], 'duration': 1444.59, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs10532550.jpg', 'highlights': ['Rebasing allows the branch to be moved to a new base commit, creating a linear project history and avoiding merge commits.', 'Interactive rebasing gives complete control over the project history, allowing developers to alter individual commits, reorder commit listings, and clean up the history before merging it into the main core base.', 'Rebasing is recommended for streamlining complex history and allows changing commit history through interactive rebase, enhancing code maintainability.', 'Merge preserves history, whereas rebase rewrites it. Git merge is essential for preserving history, while rebase is suitable for creating a clean, linear history and manipulating commit messages.', 'Rebase provides a much cleaner project history than git merge, making it easier to navigate through the project, and although it involves more steps, each step is comparatively small, which is a difference between git merge and git rebase.']}, {'end': 13923.351, 'segs': [{'end': 12386.563, 'src': 'embed', 'start': 12356, 'weight': 8, 'content': [{'end': 12359.763, 'text': 'or I can run the git config command on the current repository settings.', 'start': 12356, 'duration': 3.763}, {'end': 12361.804, 'text': 'So let me show you how you can do it globally.', 'start': 12359.823, 'duration': 1.981}, {'end': 12370.229, 'text': "So I'll just type in here git config hyphen hyphen global user dot name and the name of the user.", 'start': 12362.445, 'duration': 7.784}, {'end': 12372.931, 'text': 'So let it be Subha.', 'start': 12370.789, 'duration': 2.142}, {'end': 12376.935, 'text': 'And now I can go ahead and add the email address as well.', 'start': 12374.392, 'duration': 2.543}, {'end': 12386.563, 'text': "So I just need to type in here user dot email and I'll type the email address and the parenthesis in the double quotes, right? So this is done.", 'start': 12376.955, 'duration': 9.608}], 'summary': 'Demonstrating configuring git globally with user name and email.', 'duration': 30.563, 'max_score': 12356, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs12356000.jpg'}, {'end': 12814.274, 'src': 'embed', 'start': 12782.358, 'weight': 5, 'content': [{'end': 12783.298, 'text': 'I made a mistake there.', 'start': 12782.358, 'duration': 0.94}, {'end': 12790.32, 'text': "So I'll just type in here get commit hyphen M and let it be new the name message.", 'start': 12783.318, 'duration': 7.002}, {'end': 12792.241, 'text': 'All right, so it is done now.', 'start': 12791.16, 'duration': 1.081}, {'end': 12797.242, 'text': "Now what I'm going to do is I'm going to show you how to connect to a remote repository.", 'start': 12793.401, 'duration': 3.841}, {'end': 12799.382, 'text': 'So I have a remote repository that GitHub account.', 'start': 12797.282, 'duration': 2.1}, {'end': 12800.883, 'text': "I've created a repository there.", 'start': 12799.462, 'duration': 1.421}, {'end': 12805.604, 'text': 'So if I want to connect to that repository, what I need to do is I need to add that origin.', 'start': 12801.343, 'duration': 4.261}, {'end': 12809.345, 'text': "So I'll just type in here gets remote add origin.", 'start': 12806.084, 'duration': 3.261}, {'end': 12814.274, 'text': 'and the SSH link that I will just show you where you can find it.', 'start': 12810.57, 'duration': 3.704}], 'summary': 'Demonstrating connecting to a remote github repository using ssh link.', 'duration': 31.916, 'max_score': 12782.358, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs12782358.jpg'}, {'end': 13521.618, 'src': 'embed', 'start': 13471.579, 'weight': 0, 'content': [{'end': 13479.617, 'text': 'So it says that revert last commit so it has already done that now if I go ahead and check my edureka.', 'start': 13471.579, 'duration': 8.038}, {'end': 13480.888, 'text': '1.py file.', 'start': 13479.617, 'duration': 1.271}, {'end': 13484.071, 'text': "So it's only says master new technologies at edureka.", 'start': 13481.348, 'duration': 2.723}, {'end': 13489.136, 'text': 'So this is how you can even perform the revert operation just by using in the commit hash.', 'start': 13484.091, 'duration': 5.045}, {'end': 13492.999, 'text': 'So with that you can go ahead and revert back to the previous commit.', 'start': 13489.496, 'duration': 3.503}, {'end': 13494.541, 'text': 'So I hope this is clear now.', 'start': 13493.4, 'duration': 1.141}, {'end': 13495.702, 'text': 'Let me clear my terminal.', 'start': 13494.581, 'duration': 1.121}, {'end': 13502.954, 'text': 'So now what I can do is I can go ahead and revert to the last commit as well instead of just typing the commit hash.', 'start': 13496.448, 'duration': 6.506}, {'end': 13505.776, 'text': 'if I just type in here, get reward head.', 'start': 13502.954, 'duration': 2.822}, {'end': 13511.981, 'text': "And if I quit so it says that I've rolled back to the previous version of my file.", 'start': 13507.618, 'duration': 4.363}, {'end': 13521.618, 'text': "So if I go ahead and click on LS command and if I type in here cat edureka 1.py So I've gone back to don't just simply learn it master it.", 'start': 13512.422, 'duration': 9.196}], 'summary': "Demonstrates how to revert to the previous commit using commit hash and 'git revert head', reverting to previous version of file.", 'duration': 50.039, 'max_score': 13471.579, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs13471579.jpg'}], 'start': 11977.82, 'title': 'Git essentials', 'summary': 'Covers essential git commands such as git init and git add, configuration commands like git commit and git status, introduction to branching, working with remote repositories, and advanced topics like git log, revert, rebase, and jenkins integration.', 'chapters': [{'end': 12132.442, 'start': 11977.82, 'title': 'Git init and git add commands', 'summary': 'Covers the git init command to turn a directory into an empty git repository and the git add command to add files to the staging area, essential for committing changes, demonstrated practically in a virtual machine.', 'duration': 154.622, 'highlights': ['The git init command turns a directory into an empty git repository. This allows users to perform various operations such as adding, removing, renaming, and moving files within the local repository.', "Demonstration of checking the installed version of git and creating a directory named 'edureka-repository' and converting it into a local git repository using git init command. The demonstration showcases the practical application of the git init command and the process of creating a local git repository.", 'Explanation of the git add command to add files to the staging area for committing changes. The git add command is crucial as it prepares modified files for commit by adding them to the staging area, ensuring that only staged files are considered during the commit operation.']}, {'end': 12401.913, 'start': 12132.442, 'title': 'Git commands and configuration', 'summary': 'Covers the git add command to add changes to the staging area, the git commit command to record changes with a unique id and commit message, the git status command to return the current state of the repository, and git config for setting username and user email address.', 'duration': 269.471, 'highlights': ["The git commit command records changes made to the files in a local repository, with each commit having a unique ID and a commit message for easy understanding. The git commit command records changes made to the files in a local repository, with each commit having a unique ID and a commit message for easy understanding. For example, 'two files changed, five insertions.'", "The git add command adds changes to the staging area, enabling the addition of specific files or all files in the local repository. The git add command adds changes to the staging area, enabling the addition of specific files or all files in the local repository. For instance, 'if I want to add all the files to the staging area, then I can go ahead and type git add and a period.'", "The git status command returns the current state of the repository, showing the working branch and whether files are in the staging area but not committed, or if there are no changes. The git status command returns the current state of the repository, showing the working branch and whether files are in the staging area but not committed, or if there are no changes. For example, 'it says on branch master nothing to commit working directory clean.'", "The git config command is used to set username and user email address either globally or for the current repository settings. The git config command is used to set username and user email address either globally or for the current repository settings. For instance, 'git config is basically how to assign these settings now two important settings are username and user email address.'"]}, {'end': 12780.28, 'start': 12402.073, 'title': 'Introduction to git branching', 'summary': 'Introduces the concept of git branching, explaining the need for branches and the process of creating, merging, and deleting branches, emphasizing the importance of head and demonstrating the creation and deletion of branches through commands.', 'duration': 378.207, 'highlights': ['Git branching is used to create another line of development and is typically used for working on new features in a web application. The need for branches is explained as creating another line of development, often for working on new features in a web application.', 'Demonstrated the process of creating, adding changes, staging, and committing to a new branch, followed by merging it with the master branch using git commands. The process of creating, adding changes, staging, and committing to a new branch, followed by merging it with the master branch is demonstrated using git commands.', "Explained the significance of 'head' as a reference to the latest commit in a branch and its update upon making a commit. The significance of 'head' as a reference to the latest commit in a branch and its update upon making a commit is explained."]}, {'end': 13330.304, 'start': 12782.358, 'title': 'Working with remote repositories in git', 'summary': 'Explains how to connect to a remote repository, clone a remote repository, pull changes from the remote repository, push local changes to the remote repository, use git stash, git log, git rebase, and git revert, with specific examples and commands provided.', 'duration': 547.946, 'highlights': ["Explaining how to push local changes to the remote repository The speaker demonstrates adding changes to the staging area, making a commit, and pushing the changes to the remote repository using 'git add', 'git commit', and 'git push', successfully reflecting the changes in the remote repository.", "Demonstrating the use of git clone to create a local working copy of a remote repository The speaker illustrates the process of using 'git clone' to copy and download the repository to a local computer, emphasizing the creation of a directory locally with all the files in the repository history.", "Explaining the concept and usage of git stash to save changes when they are not ready to be committed The speaker provides an example of using 'git stash' to store work and clean the working directory, allowing for the listing and inspection of modifications, and then applying the stash to retrieve the uncommitted changes."]}, {'end': 13923.351, 'start': 13330.444, 'title': 'Understanding git log, revert, rebase & jenkins integration', 'summary': 'Covers the usage of git log to show commit history, the process of reverting to a previous commit using git revert, performing rebasing with git rebase, and the definition and advantages of integrating git with jenkins for continuous integration, emphasizing its automation capabilities and the vast plugin support.', 'duration': 592.907, 'highlights': ["The 'git log' command shows the chronological commit history for a repository, providing context and available immediately on a recently cloned repository, with the ability to provide parameters for filtering by date or author.", "The process of reverting to a previous commit using 'git revert' involves using the commit hash to perform the revert operation, effectively reflecting the changes made after the revert as a new commit.", "Rebasing with 'git rebase' allows for combining work between different branches, creating a linear sequence of commits and keeping the commit log or history of the repository clean.", 'Jenkins, an open-source automation tool, is highlighted for its role in continuous integration, building and testing software projects, integrating with various testing and deployment technologies, and accelerating the software development process through automation and plugin support.']}], 'duration': 1945.531, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs11977820.jpg', 'highlights': ["Demonstration of checking the installed version of git and creating a directory named 'edureka-repository' and converting it into a local git repository using git init command.", 'The git init command turns a directory into an empty git repository, allowing various operations such as adding, removing, renaming, and moving files within the local repository.', 'The git add command prepares modified files for commit by adding them to the staging area, ensuring that only staged files are considered during the commit operation.', 'The git commit command records changes made to the files in a local repository, with each commit having a unique ID and a commit message for easy understanding.', 'The git status command returns the current state of the repository, showing the working branch and whether files are in the staging area but not committed, or if there are no changes.', 'Git branching is used to create another line of development, often for working on new features in a web application.', "Explaining how to push local changes to the remote repository using 'git add', 'git commit', and 'git push', successfully reflecting the changes in the remote repository.", "The 'git log' command shows the chronological commit history for a repository, providing context and available immediately on a recently cloned repository.", 'Jenkins, an open-source automation tool, is highlighted for its role in continuous integration, building and testing software projects, integrating with various testing and deployment technologies, and accelerating the software development process through automation and plugin support.']}, {'end': 16226.707, 'segs': [{'end': 14962.072, 'src': 'embed', 'start': 14936.493, 'weight': 3, 'content': [{'end': 14943.118, 'text': 'Imagine that all the scripts you add to the configuration file are same as the commands that you run on the terminal on your computer.', 'start': 14936.493, 'duration': 6.625}, {'end': 14950.784, 'text': 'So here is an example of the simplest pipeline configuration that can be using a minimal docker image based on Alpine Linux.', 'start': 14943.699, 'duration': 7.085}, {'end': 14956.168, 'text': 'You have to build build a build something and build B build something else.', 'start': 14951.485, 'duration': 4.683}, {'end': 14962.072, 'text': 'This pipeline will run everything in build stage concurrently and once all of those finish,', 'start': 14956.609, 'duration': 5.463}], 'summary': 'Pipeline config: run concurrent build stages in minimal alpine linux docker image.', 'duration': 25.579, 'max_score': 14936.493, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs14936493.jpg'}, {'end': 15359.067, 'src': 'embed', 'start': 15331.374, 'weight': 0, 'content': [{'end': 15338.259, 'text': 'So as you can see over here, the gitlab instance has been configured in this machine and you can now access it from the browser.', 'start': 15331.374, 'duration': 6.885}, {'end': 15342.042, 'text': 'Go to gitlab.com and create an account.', 'start': 15339.861, 'duration': 2.181}, {'end': 15344.624, 'text': "I've already created mine to do that.", 'start': 15342.503, 'duration': 2.121}, {'end': 15347.426, 'text': 'All you have to do is fill in some information in the given field.', 'start': 15344.744, 'duration': 2.682}, {'end': 15350.969, 'text': 'It contains nothing but your name email and a password.', 'start': 15347.987, 'duration': 2.982}, {'end': 15359.067, 'text': "Check the first box, which is the terms and conditions acceptance checkbox, and also confirm that you're not a robot by any means.", 'start': 15351.618, 'duration': 7.449}], 'summary': 'Gitlab instance configured on machine, access from gitlab.com, create account with name, email, password, and accept terms and conditions.', 'duration': 27.693, 'max_score': 15331.374, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs15331374.jpg'}, {'end': 15468.61, 'src': 'embed', 'start': 15435.492, 'weight': 5, 'content': [{'end': 15438.193, 'text': 'You need to define some steps in each of these stages.', 'start': 15435.492, 'duration': 2.701}, {'end': 15443.774, 'text': 'This is just to demonstrate that you can enter multiple commands one after another in a stage.', 'start': 15438.853, 'duration': 4.921}, {'end': 15446.074, 'text': 'So now we have this file.', 'start': 15444.494, 'duration': 1.58}, {'end': 15450.515, 'text': "Let's come it and see if the syntax that we have over here is valid.", 'start': 15446.354, 'duration': 4.161}, {'end': 15456.477, 'text': "Now, we're getting this message over here that says gitlab configuration is valid Congrats.", 'start': 15451.055, 'duration': 5.422}, {'end': 15461.662, 'text': 'Now if you go to the project overview, You will see here that something has started to build.', 'start': 15457.057, 'duration': 4.605}, {'end': 15468.61, 'text': 'This is the icon that shows the pipeline has started and I did not need to configure anything in particular.', 'start': 15462.163, 'duration': 6.447}], 'summary': 'Demonstrated entering multiple commands in a stage, resulting in successful gitlab configuration and pipeline start.', 'duration': 33.118, 'max_score': 15435.492, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs15435492.jpg'}, {'end': 15921.361, 'src': 'embed', 'start': 15880.969, 'weight': 1, 'content': [{'end': 15884.111, 'text': 'Once you create a pull request to merge to a different branch,', 'start': 15880.969, 'duration': 3.142}, {'end': 15888.854, 'text': 'that is when it deploys to the concerned branch and then it tests whether these are good.', 'start': 15884.111, 'duration': 4.743}, {'end': 15892.037, 'text': 'This way, every time you raise a pull request,', 'start': 15889.474, 'duration': 2.563}, {'end': 15900.927, 'text': "you know what you're merging and that pull request is being reviewed by somebody based on the success criteria of that particular automated branch pipeline.", 'start': 15892.037, 'duration': 8.89}, {'end': 15905.132, 'text': 'This is how GitOps helps teams in solving the automation problem.', 'start': 15901.387, 'duration': 3.745}, {'end': 15908.515, 'text': 'Thus GitOps can be summarized as these two things.', 'start': 15905.592, 'duration': 2.923}, {'end': 15921.361, 'text': 'The first one is that it is a path towards a developer experience for managing applications where end-to-end CI-CD pipelines and Git workflows are applied to both operations and development.', 'start': 15909.096, 'duration': 12.265}], 'summary': 'Gitops deploys and tests pull requests, reviewed based on success criteria, improving automation and developer experience.', 'duration': 40.392, 'max_score': 15880.969, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs15880969.jpg'}, {'end': 16168.829, 'src': 'embed', 'start': 16140.96, 'weight': 2, 'content': [{'end': 16147.242, 'text': 'Operating via pull requests reduces the number of variables which eventually transform deployments into crime scenes.', 'start': 16140.96, 'duration': 6.282}, {'end': 16156.105, 'text': 'Fortunately, code deployers are no longer awarded war hero status for manually moving bits from point A to point B.', 'start': 16147.882, 'duration': 8.223}, {'end': 16160.106, 'text': 'The second thing is that convergence ensures eventual consistency.', 'start': 16156.105, 'duration': 4.001}, {'end': 16168.829, 'text': 'If a group of configuration updates is made bio-human, the observed state in the cluster can drift from the desired state declared in Git,', 'start': 16160.586, 'duration': 8.243}], 'summary': 'Operating via pull requests reduces variables, ensuring eventual consistency in code deployments.', 'duration': 27.869, 'max_score': 16140.96, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs16140960.jpg'}], 'start': 13923.691, 'title': 'Integrating jenkins, python file setup, gitlab ci/cd, and gitops', 'summary': 'Covers integrating jenkins with version control, setting up python files on github via git and jenkins, building ci/cd pipeline with gitlab, and understanding gitops principles and workflow, emphasizing the advantages and processes involved in the implementation.', 'chapters': [{'end': 13989.695, 'start': 13923.691, 'title': 'Integrating jenkins with version control', 'summary': 'Details the integration of jenkins with version control, emphasizing its flexibility, open-source nature, and plugin capabilities. it includes a demo showcasing the steps to create a sample program, set up a jenkins job, and configure it to work with a github repository.', 'duration': 66.004, 'highlights': ['Jenkins is extremely flexible, open source, and has a lot of plugins that can do almost anything, making it ideal for integrating with version control systems.', 'The demo includes steps to create a sample program, a Jenkins job, upload the code to a public GitHub repository, and configure the Jenkins job based on the GitHub repository.', 'Developers receive quick feedback on the changes made, ensuring their suitability for production deployment.']}, {'end': 14510.307, 'start': 13990.576, 'title': 'Setting up python file on github via git and jenkins integration', 'summary': 'Explains the process of creating a python file, initializing a git repository, pushing the file to a public github repository, and configuring and running a jenkins job to build and execute the python code, with the key point of setting up a python file, initializing a git repository, and configuring and running a jenkins job to build and execute the python code.', 'duration': 519.731, 'highlights': ["The process of creating a public repository on GitHub and uploading the Python file 'my_file.py' onto the repository, resulting in successful push and reflection of changes on the GitHub account.", "The detailed steps of configuring and running a Jenkins job to build and execute the Python code, including setting up source code management, specifying build triggers, and adding a build step, leading to a successful build with the output 'hello world' and 'how are you' after making changes to the Python file.", 'The detailed process of initializing an empty Git repository, adding a Python file, committing changes, and pushing the file to the GitHub repository, resulting in the successful reflection of changes on the GitHub account.', "The explanation of the process of creating a directory, creating a Python file with a simple 'print' code, and opening Git Bash to initialize an empty Git repository and check its status."]}, {'end': 15551.167, 'start': 14516.352, 'title': 'Building ci/cd pipeline with gitlab', 'summary': 'Discusses the significance of ci/cd pipelines in software development, the basic workflow and stages, the importance of gitlab ci/cd, and provides a detailed guide on setting up and running a ci/cd pipeline using gitlab, highlighting the advantages and process involved in the implementation.', 'duration': 1034.815, 'highlights': ['Importance of CI/CD Continuous methodologies of software development aim to automate the execution of scripts, reducing errors and involving less human intervention, allowing continuous building and deploying of code changes at every small iteration, resulting in decreased chance of deploying new code based on budget or failed previous versions.', 'CI/CD Pipeline Basics CI/CD pipelines bridge the gap between development and operations teams by automating building, testing, and deploying of applications, providing a standardized approach to feedback loops, reducing errors, and pacing up development iterations.', 'GitLab CI/CD Setup GitLab CI/CD allows the application of continuous integration, continuous delivery, and continuous deployment without the need for third-party applications or integration, requiring an application code base hosted in a git repository and build, test, and deployment scripts specified in a file called GitLab CI yml.', 'Pipeline Configuration Pipelines are defined in a yaml file within each project, determining the structure and order of the pipelines, executing scripts and making decisions based on specific conditions, such as process success or failure, providing a visual representation of the pipeline stages and allowing easy maintenance and troubleshooting.', 'GitLab CI/CD Deployment Workflow GitLab CI/CD runs automated scripts to build, test, and preview application changes per merge request, deploys changes automatically to a production environment, and allows easy rollback in case of issues, providing comprehensive support throughout the deployment process.']}, {'end': 15900.927, 'start': 15551.807, 'title': 'Understanding gitops for efficient container cluster deployment', 'summary': 'Discusses the principles, working, advantages, and implementation of gitops, highlighting its role in streamlining infrastructure management, automating deployments, and improving system reliability through continuous integration and delivery.', 'duration': 349.12, 'highlights': ['GitOps automates deployments and changes to infrastructure as code through pull requests, leading to increased collaboration and improved system reliability. Teams define infrastructure as code and make deployments and changes by submitting pull requests, leading to increased collaboration and improved system reliability.', 'Continuous integration and delivery are made ubiquitous through GitOps, allowing immediate execution of tests, quality checks, and artifact publication upon change submission. Once a change is submitted, the server immediately executes tests, quality checks, and builds the artifact, leading to immediate execution of continuous integration and delivery.', "GitOps utilizes Git as a single source of truth for cluster deployment, automating directors to deploy changes and ensuring infrastructure and application code's source of truth. GitOps uses Git as a single source of truth and automates directors for deploying changes, ensuring infrastructure and application code's source of truth.", 'GitOps enables continuous delivery and automated pipelines, leveraging Git for version control, peer review, and deployment automation for production environments. Developers utilize continuous delivery and automated pipelines, leveraging Git for version control, peer review, and deployment automation for production environments.', 'Branches in GitOps map to different environments in the Kubernetes cluster, triggering relevant automated pipelines for deployment and environment verification. Branches in GitOps map to different environments in the Kubernetes cluster, triggering relevant automated pipelines for deployment and environment verification.']}, {'end': 16226.707, 'start': 15901.387, 'title': 'Understanding gitops principles and workflow', 'summary': 'Explores the concept of gitops, detailing its principles and workflow, emphasizing the benefits of managing applications and clusters using end-to-end ci-cd pipelines and git workflows, and highlighting the importance of declarative system descriptions, version control, automated changes, and software agents in ensuring correctness and self-healing of the system.', 'duration': 325.32, 'highlights': ['GitOps emphasizes managing applications using end-to-end CI-CD pipelines and Git workflows, providing best practices for deployment management and monitoring for containerized clusters and applications.', 'Declarative system descriptions and version control in Git provide a single source of truth for application deployment and infrastructure reproducibility in case of disaster, ensuring dependability and quick recovery.', 'Automated changes to the system, kept in Git, allow for segregation of state definition and operations, enabling automatic application of approved changes without requiring cluster credentials.', "Software agents, combined with version control, ensure the system's correctness, alert on divergence, and contribute to self-healing, providing feedback and control loop for operations, beyond handling node or pod failures."]}], 'duration': 2303.016, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs13923691.jpg', 'highlights': ['Jenkins is extremely flexible, open source, and has a lot of plugins that can do almost anything, making it ideal for integrating with version control systems.', 'Developers receive quick feedback on the changes made, ensuring their suitability for production deployment.', "The process of creating a public repository on GitHub and uploading the Python file 'my_file.py' onto the repository, resulting in successful push and reflection of changes on the GitHub account.", "The detailed steps of configuring and running a Jenkins job to build and execute the Python code, including setting up source code management, specifying build triggers, and adding a build step, leading to a successful build with the output 'hello world' and 'how are you' after making changes to the Python file.", 'Importance of CI/CD Continuous methodologies of software development aim to automate the execution of scripts, reducing errors and involving less human intervention, allowing continuous building and deploying of code changes at every small iteration, resulting in decreased chance of deploying new code based on budget or failed previous versions.', 'GitLab CI/CD Setup GitLab CI/CD allows the application of continuous integration, continuous delivery, and continuous deployment without the need for third-party applications or integration, requiring an application code base hosted in a git repository and build, test, and deployment scripts specified in a file called GitLab CI yml.', 'GitOps automates deployments and changes to infrastructure as code through pull requests, leading to increased collaboration and improved system reliability. Teams define infrastructure as code and make deployments and changes by submitting pull requests, leading to increased collaboration and improved system reliability.', "GitOps utilizes Git as a single source of truth for cluster deployment, automating directors to deploy changes and ensuring infrastructure and application code's source of truth. GitOps uses Git as a single source of truth and automates directors for deploying changes, ensuring infrastructure and application code's source of truth.", 'GitOps enables continuous delivery and automated pipelines, leveraging Git for version control, peer review, and deployment automation for production environments. Developers utilize continuous delivery and automated pipelines, leveraging Git for version control, peer review, and deployment automation for production environments.', 'GitOps emphasizes managing applications using end-to-end CI-CD pipelines and Git workflows, providing best practices for deployment management and monitoring for containerized clusters and applications.']}, {'end': 17244.939, 'segs': [{'end': 16277.526, 'src': 'embed', 'start': 16249.319, 'weight': 9, 'content': [{'end': 16255.28, 'text': 'with the critical piece being continuous deployment that eventually supports Git cluster synchronization.', 'start': 16249.319, 'duration': 5.961}, {'end': 16260.222, 'text': "So now we'll move on and talk about the benefits of applying GitOps best practices.", 'start': 16255.681, 'duration': 4.541}, {'end': 16263.143, 'text': 'The first one is increased productivity.', 'start': 16260.822, 'duration': 2.321}, {'end': 16269.884, 'text': 'Continuous deployment automation with an integrated feedback control loop speeds up mean time to deployment.', 'start': 16263.723, 'duration': 6.161}, {'end': 16277.526, 'text': 'Your team can ship 30 to 100 times more changes per day, increasing overall development output by almost 2-3 times.', 'start': 16270.284, 'duration': 7.242}], 'summary': 'Continuous deployment automation increases productivity by enabling 30 to 100 times more changes per day, boosting overall development output by 2-3 times.', 'duration': 28.207, 'max_score': 16249.319, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs16249319.jpg'}, {'end': 16426.366, 'src': 'embed', 'start': 16357.513, 'weight': 0, 'content': [{'end': 16363.416, 'text': 'Not only are your continuous integration and continuous deployment pipelines all driven by pull requests,', 'start': 16357.513, 'duration': 5.903}, {'end': 16367.298, 'text': 'but your operations tasks are also fully reproducible through Git.', 'start': 16363.416, 'duration': 3.882}, {'end': 16372.801, 'text': 'the last and most important benefit is stronger security guarantees.', 'start': 16368.098, 'duration': 4.703}, {'end': 16380.026, 'text': 'get strong correctness and security guarantees, backed by the strong cryptography used to track and manage changes,', 'start': 16372.801, 'duration': 7.225}, {'end': 16394.095, 'text': 'as well as the ability to sign changes to prove authorship and origin, is key to a secure definition of the desired state of the cluster.', 'start': 16380.026, 'duration': 14.069}, {'end': 16395.096, 'text': 'get interview questions.', 'start': 16394.095, 'duration': 1.001}, {'end': 16399.7, 'text': "So before we move any further, let us have a quick look at the agenda for today's session.", 'start': 16395.757, 'duration': 3.943}, {'end': 16403.583, 'text': 'We will start this session by the beginners level of interview questions.', 'start': 16400.381, 'duration': 3.202}, {'end': 16406.326, 'text': 'Then we will proceed to the intermediate level questions.', 'start': 16403.903, 'duration': 2.423}, {'end': 16410.91, 'text': 'And finally we will conclude with the advanced level of interview questions asked on gate.', 'start': 16406.787, 'duration': 4.123}, {'end': 16413.933, 'text': "I hope I'm clear with the agenda guys pretty simple.", 'start': 16411.791, 'duration': 2.142}, {'end': 16417.635, 'text': 'So without any further delay, let us begin with our first topic.', 'start': 16414.812, 'duration': 2.823}, {'end': 16421.139, 'text': 'That is the basic level of or the beginner level of interview questions.', 'start': 16417.776, 'duration': 3.363}, {'end': 16426.366, 'text': 'So the first question is what is gate? It is a distributed version control system.', 'start': 16421.618, 'duration': 4.748}], 'summary': 'Ci/cd pipelines driven by pull requests, operations reproducible through git, and strong security guarantees with strong cryptography and authorship proof. interview agenda includes beginner, intermediate, and advanced level questions on gate.', 'duration': 68.853, 'max_score': 16357.513, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs16357513.jpg'}, {'end': 16484.778, 'src': 'embed', 'start': 16447.794, 'weight': 6, 'content': [{'end': 16452.955, 'text': 'instead, every developer clones a copy of a repository, as you can see in this diagram,', 'start': 16447.794, 'duration': 5.161}, {'end': 16456.817, 'text': 'and he has the full history of the project available on his hard drive.', 'start': 16452.955, 'duration': 3.862}, {'end': 16462.578, 'text': 'So, whenever there is a server outage, all you need to do is just copy one of your teammates local,', 'start': 16457.276, 'duration': 5.302}, {'end': 16465.679, 'text': 'get repository and bang you have the code on your system.', 'start': 16462.578, 'duration': 3.101}, {'end': 16472.192, 'text': 'So there is one central cloud repository where the developers can commit changes and share them with the other team members.', 'start': 16466.269, 'duration': 5.923}, {'end': 16475.014, 'text': 'So this is what get is in a nutshell.', 'start': 16472.572, 'duration': 2.442}, {'end': 16478.535, 'text': 'So the next question is what is a distributed version control system?', 'start': 16475.434, 'duration': 3.101}, {'end': 16484.778, 'text': "So these are the systems that don't rely on a central server to store a project file and all its versions.", 'start': 16478.975, 'duration': 5.803}], 'summary': "Developers have full project history, can copy teammate's local repository in case of server outage. distributed version control doesn't rely on a central server.", 'duration': 36.984, 'max_score': 16447.794, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs16447794.jpg'}, {'end': 16530.808, 'src': 'embed', 'start': 16504.011, 'weight': 7, 'content': [{'end': 16510.194, 'text': 'So developers can commit and update the local repository without any hassles with an operation called pull.', 'start': 16504.011, 'duration': 6.183}, {'end': 16518.915, 'text': 'they can update their local repositories with the new data from the central server and full operation of exchanges to the main repository from their local repository.', 'start': 16510.194, 'duration': 8.721}, {'end': 16523.295, 'text': 'The next question is what are the advantages of using a version control system?', 'start': 16519.575, 'duration': 3.72}, {'end': 16530.808, 'text': 'So with version control system, all the team members are allowed to work freely on any file at any given time.', 'start': 16524.223, 'duration': 6.585}], 'summary': 'Developers can update local repositories with new data easily using pull operation. version control system allows team members to work freely on any file at any time.', 'duration': 26.797, 'max_score': 16504.011, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs16504010.jpg'}, {'end': 16612.008, 'src': 'embed', 'start': 16583.356, 'weight': 4, 'content': [{'end': 16589.961, 'text': 'The next question is what is the difference between get an SVN? So get is a decentralized version control tool.', 'start': 16583.356, 'duration': 6.605}, {'end': 16596.767, 'text': 'Whereas SVN is a centralized version control tool get belongs to the third generation of the version control tools.', 'start': 16590.382, 'duration': 6.385}, {'end': 16600.85, 'text': 'Whereas SVN belongs to the second generation of the version control tools.', 'start': 16597.008, 'duration': 3.842}, {'end': 16606.376, 'text': 'So what happens in get is clients can clone entire repositories on their local systems.', 'start': 16601.271, 'duration': 5.105}, {'end': 16612.008, 'text': 'whereas in SVN version history is stored on this server side of the repository.', 'start': 16606.986, 'duration': 5.022}], 'summary': 'Git is a decentralized tool, svn is centralized. git is third gen, svn is second gen.', 'duration': 28.652, 'max_score': 16583.356, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs16583356.jpg'}, {'end': 16786.26, 'src': 'embed', 'start': 16743.556, 'weight': 10, 'content': [{'end': 16749.162, 'text': 'It contains all the contents of the dot get subdirectory directly in the main directory itself.', 'start': 16743.556, 'duration': 5.606}, {'end': 16762.409, 'text': 'Whereas the working directory consists of two things The first one is a dot get subdirectory with all get related revision history of your repository and the second one is a working tree or checked out copies of all your project files.', 'start': 16749.462, 'duration': 12.947}, {'end': 16765.369, 'text': 'The next question is what is a commit message?', 'start': 16763.249, 'duration': 2.12}, {'end': 16771.633, 'text': 'So a commit message is nothing but an information that you provide along with the command called commit,', 'start': 16765.89, 'duration': 5.743}, {'end': 16779.255, 'text': 'so that you are aware of what exactly that change the developer or the programmer is doing while committing any operation or any change.', 'start': 16771.633, 'duration': 7.622}, {'end': 16786.26, 'text': 'So as you can see here, The syntax for commit messages get committed the option and the message that you want to write.', 'start': 16779.636, 'duration': 6.624}], 'summary': 'Understanding the contents of the .git subdirectory and the purpose of a commit message in git.', 'duration': 42.704, 'max_score': 16743.556, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs16743556.jpg'}, {'end': 16917.433, 'src': 'embed', 'start': 16875.483, 'weight': 3, 'content': [{'end': 16879.687, 'text': 'So when you run this command, you can fix the broken commit message in the editor.', 'start': 16875.483, 'duration': 4.204}, {'end': 16882.35, 'text': 'So the next question is what is a conflict?', 'start': 16880.347, 'duration': 2.003}, {'end': 16883.636, 'text': 'and get So.', 'start': 16882.35, 'duration': 1.286}, {'end': 16889.078, 'text': 'git can handle on its own most merges by using its automatic merging features.', 'start': 16883.636, 'duration': 5.442}, {'end': 16894.94, 'text': 'there arises a conflict when two separate branches have made edits to the same line in a file,', 'start': 16889.078, 'duration': 5.862}, {'end': 16899.881, 'text': 'or when a file has been deleted in one branch but it has been edited in the other branch.', 'start': 16894.94, 'duration': 4.941}, {'end': 16904.283, 'text': 'So conflicts are most likely to happen when working in a team environment.', 'start': 16900.581, 'duration': 3.702}, {'end': 16911.965, 'text': 'The next question is how do you resolve a conflict in git? So you can refer the diagram for more information about this question.', 'start': 16904.843, 'duration': 7.122}, {'end': 16917.433, 'text': 'So there are a few steps that you need to follow to resolve a conflict and get.', 'start': 16912.751, 'duration': 4.682}], 'summary': 'Git can handle most merges automatically, but conflicts occur when branches have conflicting edits, requiring resolution in team environments.', 'duration': 41.95, 'max_score': 16875.483, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs16875483.jpg'}, {'end': 17184.341, 'src': 'embed', 'start': 17142.662, 'weight': 12, 'content': [{'end': 17147.744, 'text': 'things are in a messy state and you want to switch branches for some time to do something else.', 'start': 17142.662, 'duration': 5.082}, {'end': 17154.807, 'text': "So the problem here is you don't want to do a commit of half done work just so that you can get back to this point later.", 'start': 17148.545, 'duration': 6.262}, {'end': 17156.128, 'text': 'So to solve this issue.', 'start': 17155.148, 'duration': 0.98}, {'end': 17158.549, 'text': 'There is one provision called git stash.', 'start': 17156.348, 'duration': 2.201}, {'end': 17164.502, 'text': 'So stashing takes your working directory, that is, your modified track files and stage changes,', 'start': 17159.278, 'duration': 5.224}, {'end': 17169.225, 'text': 'and saves it on a stack of unfinished changes that you can reapply at any time.', 'start': 17164.502, 'duration': 4.723}, {'end': 17172.747, 'text': 'The next question is what is the function of get stash apply?', 'start': 17169.845, 'duration': 2.902}, {'end': 17178.378, 'text': 'So, as we have seen previously, if you want to continue working where you had left your work,', 'start': 17173.556, 'duration': 4.822}, {'end': 17184.341, 'text': 'then get stash apply command is used to bring back the saved changes onto your current working directory.', 'start': 17178.378, 'duration': 5.963}], 'summary': 'Use git stash to save unfinished work and apply changes later.', 'duration': 41.679, 'max_score': 17142.662, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs17142662.jpg'}], 'start': 16227.228, 'title': 'Gitops best practices and git fundamentals', 'summary': 'Discusses the benefits of applying gitops best practices, enabling 30 to 100 times more changes per day, quicker onboarding of developers, and stronger security guarantees. it also explains the advantages of git as a distributed version control system, and covers basic git commands, conflict resolution, and the difference between git pull and git fetch.', 'chapters': [{'end': 16426.366, 'start': 16227.228, 'title': 'Benefits of gitops best practices', 'summary': 'Discusses the benefits of applying gitops best practices, including increased productivity, enhanced developer experience, improved stability, higher reliability, consistency and standardization, and stronger security guarantees, enabling 30 to 100 times more changes per day, quicker onboarding of developers, reduced mean time to recover, consistent end-to-end workflows, and stronger security guarantees backed by cryptography.', 'duration': 199.138, 'highlights': ['Increased productivity Continuous deployment automation with an integrated feedback control loop speeds up mean time to deployment, enabling teams to ship 30 to 100 times more changes per day, increasing overall development output by almost 2-3 times.', 'Enhanced developer experience Developers can use familiar tools like Git to manage updates and features to Kubernetes more rapidly without having to know the internal of Kubernetes, enabling quicker onboarding of developers and increased productivity within days instead of months.', 'Stronger security guarantees Backed by strong cryptography used to track and manage changes, as well as the ability to sign changes to prove authorship and origin, providing a secure definition of the desired state of the cluster.', 'Improved stability Using Git workflows to manage the cluster automatically provides a convenient audit log of all cluster changes outside of Kubernetes, meeting FOC compliance and ensuring stability.', 'Consistency and standardization GitOps provides one model for making infrastructure applications and Kubernetes add-on changes, resulting in consistent end-to-end workflows across the entire organization.', "Higher reliability Gaining stable and reproducible rollbacks with Git's capability to revert or rollback and fork, reducing mean time to recover from hours to minutes."]}, {'end': 16786.26, 'start': 16426.947, 'title': 'Git: distributed version control system', 'summary': 'Explains the advantages of git as a distributed version control system, highlighting that it does not rely on a central server, every developer clones a copy of the repository, and it allows for fast push and pull operations. it also covers the differences between git and svn, and git and github, as well as the main functions of git repository hosting. additionally, it mentions the use of c language in git and defines key concepts like repository, bare repository, and commit message.', 'duration': 359.313, 'highlights': ['Git provides a distributed architecture, allowing every developer to clone a copy of the repository, eliminating the reliance on a central server and enabling easy access in the event of a server outage. Every developer clones a copy of a repository, providing easy access to the full project history on their hard drive, eliminating the need for a central server and enabling quick recovery in case of a server outage.', "Git allows for fast push and pull operations, making it more efficient compared to SVN, where push-pull operations are slower. Git's push and pull operations are faster compared to SVN, providing efficiency in sharing and updating data between repositories.", 'GitHub provides a web-based graphical interface, access control, and collaboration features, making it more than just a git repository hosting service. GitHub offers a web-based graphical interface, access control, and collaboration features, extending beyond basic repository hosting.', 'Git uses C language for its speed, as C language reduces the overhead of run times associated with high-level languages. Git uses C language for its speed, leveraging the reduced overhead of run times associated with high-level languages.', 'A bare repository in Git contains version control information without working files and does not have the special .git subdirectory. A bare repository in Git contains version control information without working files and does not have the special .git subdirectory, storing all contents directly in the main directory.']}, {'end': 17037.004, 'start': 16786.621, 'title': 'Basic git commands and conflict resolution', 'summary': 'Covers basic git commands such as git init, git status, git clone, git add, git commit, and git push origin master, along with explanations of resolving conflicts and reverting a commit, providing insights on conflict handling and resolution, with specific steps for conflict resolution and two approaches for reverting a commit.', 'duration': 250.383, 'highlights': ['The chapter covers basic Git commands such as git init, git status, git clone, git add, git commit, and git push origin master. These commands are essential for creating a new local repository, listing changed files, creating a working copy of a local repository, adding files to the staging area, committing files, and sending changes to the master branch of a remote repository.', 'Explains conflict handling and resolution, with specific steps for conflict resolution and two approaches for reverting a commit. Provides insights into conflicts arising from edits to the same line in a file or file deletions in separate branches, and offers steps for resolving conflicts as well as two approaches for reverting a commit.', 'Provides insights into conflicts arising from edits to the same line in a file or file deletions in separate branches. Explains the scenarios that lead to conflicts, highlighting the importance of understanding conflict sources.', 'Offers steps for resolving conflicts as well as two approaches for reverting a commit. Details the process of conflict resolution, emphasizing the identification of conflicting files and the necessary changes, and presents two approaches for reverting a commit based on different scenarios.']}, {'end': 17244.939, 'start': 17037.425, 'title': 'Git pull vs git fetch', 'summary': 'Explains the difference between git pull and git fetch, stating that git pull updates the target branch with new changes or commits from a central repository, while git fetch pulls all new comments from the desired branch and stores it in a new branch in the local repository, requiring a merge to update the target branch.', 'duration': 207.514, 'highlights': ['Git pull updates the target branch with new changes or commits from a central repository. The git pull command pulls new changes or commits from a particular branch in the central repository and updates the target branch in the local repository.', 'Git fetch pulls all new comments from the desired branch and stores it in a new branch in the local repository, requiring a merge to update the target branch. When performing a git fetch, it pulls all new comments from the desired branch and stores it in a new branch in the local repository, requiring a git merge to reflect these changes in the target branch.', 'Git stash saves modified track files and stage changes on a stack of unfinished changes that can be re-applied at any time. Git stash saves the modified track files and stage changes on a stack of unfinished changes, allowing them to be re-applied at any time.', 'Git stash apply command brings back the saved changes onto the current working directory. The git stash apply command is used to bring back the saved changes onto the current working directory, enabling the user to continue working from where they had left off.', "Get ref log fetches the log references of a particular branch or tag. To fetch the log references of a particular branch or tag, the command 'git ref log' followed by the reference name can be used."]}], 'duration': 1017.711, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs16227228.jpg', 'highlights': ['Enabling 30 to 100 times more changes per day, increasing overall development output by almost 2-3 times.', 'Developers can use familiar tools like Git to manage updates and features to Kubernetes more rapidly, enabling quicker onboarding of developers.', 'Backed by strong cryptography used to track and manage changes, providing a secure definition of the desired state of the cluster.', 'Using Git workflows to manage the cluster automatically provides a convenient audit log of all cluster changes outside of Kubernetes, ensuring stability.', 'GitOps provides one model for making infrastructure applications and Kubernetes add-on changes, resulting in consistent end-to-end workflows.', "Gaining stable and reproducible rollbacks with Git's capability to revert or rollback and fork, reducing mean time to recover from hours to minutes.", 'Git provides a distributed architecture, allowing every developer to clone a copy of the repository, eliminating the reliance on a central server.', "Git's push and pull operations are faster compared to SVN, providing efficiency in sharing and updating data between repositories.", 'GitHub offers a web-based graphical interface, access control, and collaboration features, extending beyond basic repository hosting.', 'Git uses C language for its speed, leveraging the reduced overhead of run times associated with high-level languages.', 'A bare repository in Git contains version control information without working files and does not have the special .git subdirectory, storing all contents directly in the main directory.', 'The chapter covers basic Git commands such as git init, git status, git clone, git add, git commit, and git push origin master.', 'Provides insights into conflicts arising from edits to the same line in a file or file deletions in separate branches, highlighting the importance of understanding conflict sources.', 'Details the process of conflict resolution, emphasizing the identification of conflicting files and the necessary changes, and presents two approaches for reverting a commit based on different scenarios.', 'The git pull command pulls new changes or commits from a particular branch in the central repository and updates the target branch in the local repository.', 'When performing a git fetch, it pulls all new comments from the desired branch and stores it in a new branch in the local repository, requiring a git merge to reflect these changes in the target branch.', 'Git stash saves the modified track files and stage changes on a stack of unfinished changes, allowing them to be re-applied at any time.', 'The git stash apply command is used to bring back the saved changes onto the current working directory, enabling the user to continue working from where they had left off.', "To fetch the log references of a particular branch or tag, the command 'git ref log' followed by the reference name can be used."]}, {'end': 18367.261, 'segs': [{'end': 17302.332, 'src': 'embed', 'start': 17272.424, 'weight': 4, 'content': [{'end': 17278.386, 'text': 'It will remove the last added stash item by default and it can also remove a specific item.', 'start': 17272.424, 'duration': 5.962}, {'end': 17280.826, 'text': 'If you include it as an argument.', 'start': 17278.846, 'duration': 1.98}, {'end': 17286.168, 'text': 'The next question is how do you find a list of file that has changed in a particular comment?', 'start': 17281.407, 'duration': 4.761}, {'end': 17291.11, 'text': 'So, to get a list of file that has changed in a particular commit, use the command.', 'start': 17286.869, 'duration': 4.241}, {'end': 17295.351, 'text': 'as you can see here on this slide, get def, tree, hyphen R and the hash.', 'start': 17291.11, 'duration': 4.241}, {'end': 17302.332, 'text': 'So, given the commit hash, this will list all the files that were changed or added in that commit.', 'start': 17296.331, 'duration': 6.001}], 'summary': 'Git can remove stash items and list changed files in a commit.', 'duration': 29.908, 'max_score': 17272.424, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs17272424.jpg'}, {'end': 17587.925, 'src': 'embed', 'start': 17559.868, 'weight': 1, 'content': [{'end': 17562.488, 'text': 'So this command lists the branches that have not been merged.', 'start': 17559.868, 'duration': 2.62}, {'end': 17568.97, 'text': 'The next question is why is it desirable to create an additional commit rather than amending an existing commit.', 'start': 17562.989, 'duration': 5.981}, {'end': 17571.554, 'text': 'So there are two reasons for this question.', 'start': 17569.833, 'duration': 1.721}, {'end': 17577.798, 'text': 'So the first one, the amend operation destroys the state that was previously saved in a commit.', 'start': 17572.135, 'duration': 5.663}, {'end': 17582.001, 'text': 'if there is just the commit message that is being changed, then that is not a problem.', 'start': 17577.798, 'duration': 4.203}, {'end': 17587.925, 'text': 'But if the contents are being amended then the chances of eliminating something important remains more.', 'start': 17582.461, 'duration': 5.464}], 'summary': 'The command lists unmerged branches. creating additional commit preserves state and content integrity.', 'duration': 28.057, 'max_score': 17559.868, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs17559868.jpg'}, {'end': 17627.359, 'src': 'embed', 'start': 17600.745, 'weight': 3, 'content': [{'end': 17605.654, 'text': 'this directory consists of shell scripts that are activated if you run the corresponding get commands.', 'start': 17600.745, 'duration': 4.909}, {'end': 17611.375, 'text': 'For example get will try to execute the post commit script after you have run a comment.', 'start': 17606.334, 'duration': 5.041}, {'end': 17613.296, 'text': 'The next question is in get.', 'start': 17611.655, 'duration': 1.641}, {'end': 17620.597, 'text': 'how would you return a comment that has just been pushed and made open so one or more commits can be reverted to the use of get reward?', 'start': 17613.296, 'duration': 7.301}, {'end': 17627.359, 'text': 'this command in a true sense creates a new commit with patches that cancel out the changes introduced in the specific comments.', 'start': 17620.597, 'duration': 6.762}], 'summary': 'Shell scripts in directory run after get commands; get reward reverts commits by creating new patches cancelling out changes.', 'duration': 26.614, 'max_score': 17600.745, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs17600745.jpg'}, {'end': 17707.474, 'src': 'embed', 'start': 17679.031, 'weight': 0, 'content': [{'end': 17684.095, 'text': 'So, to record the history of the project, get workflow employees to parallel long-running branches.', 'start': 17679.031, 'duration': 5.064}, {'end': 17687.898, 'text': 'The first one is the master branch and the second one is that develop branch.', 'start': 17684.676, 'duration': 3.222}, {'end': 17695.745, 'text': 'So the master branch is always ready to be released on live with everything fully tested and approved, that is, production ready state.', 'start': 17688.539, 'duration': 7.206}, {'end': 17699.788, 'text': 'the hotfix branch in master is used to quickly patch the production release.', 'start': 17695.745, 'duration': 4.043}, {'end': 17707.474, 'text': 'These branches are a lot like the release branches and the feature branches except that they are based on master instead of the develop.', 'start': 17700.709, 'duration': 6.765}], 'summary': 'Use master and develop branches for a production-ready workflow.', 'duration': 28.443, 'max_score': 17679.031, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs17679031.jpg'}, {'end': 18022.454, 'src': 'embed', 'start': 17992.923, 'weight': 2, 'content': [{'end': 17998.605, 'text': 'and for this purpose you will use the command get reset soft head and this command get commit.', 'start': 17992.923, 'duration': 5.682}, {'end': 18005.138, 'text': 'edit hyphen M and the entire log command, git log format, reverse and the name of the head.', 'start': 17998.605, 'duration': 6.533}, {'end': 18007.6, 'text': 'The next question is what is git bisect?', 'start': 18005.738, 'duration': 1.862}, {'end': 18011.003, 'text': 'How can you use it to determine the source of a bug?', 'start': 18008.26, 'duration': 2.743}, {'end': 18016.468, 'text': 'So git bisect is used to find the commit that introduced a bug by using a binary search.', 'start': 18011.704, 'duration': 4.764}, {'end': 18022.454, 'text': 'So the command for git bisect is pretty simple as you can see on this slide git bisect sub command and the options.', 'start': 18016.708, 'duration': 5.746}], 'summary': 'Git bisect is used to find bug-introducing commit using binary search.', 'duration': 29.531, 'max_score': 17992.923, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs17992923.jpg'}], 'start': 17245.799, 'title': 'Git commands, workflows, and integrating with jenkins', 'summary': "Covers differences between git commands, branching strategies, and advanced commands, including integrating git with jenkins. it also discusses various 'git reflog' sub-commands and their functions.", 'chapters': [{'end': 17678.631, 'start': 17245.799, 'title': 'Git commands and workflows', 'summary': 'Covers the differences between git clone and git remote, the function of git stash drop, finding changed files in a commit, git configuration, commit object components, branching strategies, advantages of forking workflow, checking merged branches, reasons for creating additional commit, hooks in git, reverting commits, and removing files from git.', 'duration': 432.832, 'highlights': ['The chapter covers the differences between git clone and git remote, the function of git stash drop, finding changed files in a commit, git configuration, commit object components, branching strategies, advantages of forking workflow, checking merged branches, reasons for creating additional commit, hooks in git, reverting commits, and removing files from git. It provides a comprehensive overview of various git commands and workflows, including differences between git clone and git remote, the function of git stash drop, finding changed files in a commit, git configuration, commit object components, branching strategies, advantages of forking workflow, checking merged branches, reasons for creating additional commit, hooks in git, reverting commits, and removing files from git.', 'The forking workflow gives every developer their own server-side repository, enabling contributions without needing everybody to push to a single central repository. It explains the advantages of the forking workflow, where every developer has their own server-side repository, allowing contributions without the need to push to a single central repository, resulting in a clean project history.', 'The git branch --merged command lists the branches that have been merged into the current branch, while git branch --no-merged lists the branches that have not been merged. It explains the commands git branch --merged and git branch --no-merged, where the former lists merged branches and the latter lists branches that have not been merged.', 'The git revert command creates a new commit with patches that cancel out the changes introduced in specific commits, or alternatively, one can check out the state of a particular commit from the past and commit a new. It describes the functionality of the git revert command, which creates a new commit to cancel out changes in specific commits, and suggests an alternative approach of checking out the state of a particular commit from the past and committing a new one.', 'Using git reset or echo filename >> .gitignore can remove a file from git without removing it from the file system, acting as an opposite to the git add command. It provides a method to remove a file from git without removing it from the file system by using git reset or echo filename >> .gitignore, acting as an opposite to the git add command.']}, {'end': 18095.392, 'start': 17679.031, 'title': 'Git workflow and branching', 'summary': 'Discusses git workflow, branching strategies, and advanced commands such as rebasing, merging, resetting, and bisecting, along with integrating git with jenkins.', 'duration': 416.361, 'highlights': ['Git workflow and branching strategy Discusses the workflow involving parallel long-running branches like master, develop, hotfix, and feature branches, along with their purposes and interactions.', 'Working tree, index, and head in Git Explains the concepts of the working tree, index, and head in Git, detailing their functionalities and their roles in the version control process.', 'Rebasing and merging in Git Compares rebasing and merging in Git, highlighting the differences in commit history and the approach to integrating changes from one branch to another.', 'Reset and revert commands in Git Clarifies the usage of the reset and revert commands in Git, emphasizing their respective impacts on the commit history and the working tree.', 'Git bisect for bug tracking Describes the use of Git bisect to identify the commit introducing a bug, employing a binary search algorithm and user input to pinpoint the problematic commit.', 'Integrating Git with Jenkins Provides a step-by-step guide for integrating Git with Jenkins, involving plugin installation and configuration to enable version control within Jenkins.']}, {'end': 18367.261, 'start': 18095.392, 'title': 'Integrating git with jenkins and git commands', 'summary': "Covers integrating git with jenkins, configuring a repository for code sanity checking, using 'git cherry-pick' to introduce commits from one branch to another, understanding 'git reflog' to track changes in references, and recovering a deleted branch using 'git reflog' command. it also discusses various 'git reflog' sub-commands including 'git reflog help', 'git reflog show', 'git reflog expire', 'git reflog delete', and 'git reflog exists'.", 'duration': 271.869, 'highlights': ['Integrating Git with Jenkins and configuring a repository for code sanity checking The chapter covers integrating Git with Jenkins and configuring a repository for code sanity checking, ensuring that it is possible and reasonable to continue testing.', "Understanding 'git cherry-pick' command for introducing specific commits from one branch to another The 'git cherry-pick' command is used to introduce specific commits from one branch to another, with a simple syntax of 'git cherry-pick '.", "Explaining the functionality of 'git reflog' in tracking changes in references and recovering a deleted branch The 'git reflog' command tracks changes in references like branches and tags, and can be used to recover a deleted branch using the history logs and a specific timestamp.", "Discussing 'git reflog' sub-commands including 'git reflog help', 'git reflog show', 'git reflog expire', 'git reflog delete', and 'git reflog exists' The chapter also covers various 'git reflog' sub-commands such as 'git reflog help', 'git reflog show', 'git reflog expire', 'git reflog delete', and 'git reflog exists'."]}], 'duration': 1121.462, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KMOmw19ZCGs/pics/KMOmw19ZCGs17245799.jpg', 'highlights': ['The forking workflow gives every developer their own server-side repository, enabling contributions without needing everybody to push to a single central repository.', 'The chapter covers integrating Git with Jenkins and configuring a repository for code sanity checking, ensuring that it is possible and reasonable to continue testing.', "The 'git cherry-pick' command is used to introduce specific commits from one branch to another, with a simple syntax of 'git cherry-pick '.", 'The git branch --merged command lists the branches that have been merged into the current branch, while git branch --no-merged lists the branches that have not been merged.', 'Using git reset or echo filename >> .gitignore can remove a file from git without removing it from the file system, acting as an opposite to the git add command.']}], 'highlights': ['Multinational companies like Google, Facebook, Microsoft, Twitter, LinkedIn extensively use Git and GitHub, demonstrating its significance in various industries.', 'The course agenda includes an in-depth coverage of Git, GitHub, branching, merging, Jenkins integration, GitLab CICD pipeline, GitOps, and interview questions, offering a comprehensive learning experience.', 'Version control system is crucial for collaboration among developers, enabling them to save and track changes in the application code.', "The 'git log' command provides a comprehensive overview of all commit messages, displaying the generated hash ID, author details, and associated email addresses, offering visibility into all repository changes.", 'Demonstrates syncing three commits from the local repository to the remote repository', 'GitHub is essential for software developers to share projects and work collaboratively, enabling version control and hosting millions of programmers', 'The new repository option allows users to create files and directly interact with Git, enabling the addition of files to their GitHub account.', 'Configuring local project as remote repository, adding remote, creating new repository on GitHub, initializing project, pushing project to remote repository.', 'GitHub flow supports regular deployments, with the master branch always production-ready, emphasizing small, confined changes.', 'Git simplifies merging by automatically integrating new changes, but conflicts occur when multiple users modify the same lines in a file, requiring manual resolution.', 'Rebasing allows the branch to be moved to a new base commit, creating a linear project history and avoiding merge commits.', "Demonstration of checking the installed version of git and creating a directory named 'edureka-repository' and converting it into a local git repository using git init command.", 'Jenkins is extremely flexible, open source, and has a lot of plugins that can do almost anything, making it ideal for integrating with version control systems.', 'Enabling 30 to 100 times more changes per day, increasing overall development output by almost 2-3 times.', 'The forking workflow gives every developer their own server-side repository, enabling contributions without needing everybody to push to a single central repository.']}