title
Top 50 Git Interview Questions and Answers | Git Interview Preparation | DevOps Training | Edureka
description
๐ฅ๐๐๐ฎ๐ซ๐๐ค๐ ๐๐๐ฏ๐๐ฉ๐ฌ ๐๐จ๐ฌ๐ญ ๐๐ซ๐๐๐ฎ๐๐ญ๐ ๐๐ซ๐จ๐ ๐ซ๐๐ฆ ๐ฐ๐ข๐ญ๐ก ๐๐ฎ๐ซ๐๐ฎ๐ ๐๐ง๐ข๐ฏ๐๐ซ๐ฌ๐ข๐ญ๐ฒ: https://www.edureka.co/executive-programs/purdue-devops
This Edureka session on โGit Interview Questionsโ will discuss the most frequently asked questions that you might face in an interview.
This Session will focus on pointers like:
0:50 Beginner Interview Questions
12:28 Intermediate Interview Questions
26:27 Advanced Interview Questions
Check out our Complete Playlist:ย https://bit.ly/2KlsEva
Blog Series: https://bit.ly/2KmfQVd
Do subscribe to our channel and hit the bell icon to never miss an update from us in the future:
https://goo.gl/6ohpTV
๐๐๐ฎ๐ซ๐๐ค๐ ๐๐๐ฏ๐๐ฉ๐ฌ ๐๐ซ๐๐ข๐ง๐ข๐ง๐ ๐ฌ
๐ตDevOps Online Training: https://bit.ly/3GOAlD5
๐ตKubernetes Online Training: https://bit.ly/3q0zrg1
๐ตDocker Online Training: https://bit.ly/3DYPCj9
๐ตAWS Certified DevOps Engineer Online Training: https://bit.ly/3pXnB6y
๐ตAzure DevOps (Az-400) Online Training: https://bit.ly/3m8WmVr
๐๐๐ฎ๐ซ๐๐ค๐ ๐๐๐ฏ๐จ๐ฉ๐ฌ ๐๐๐ฌ๐ญ๐๐ซ๐ฌ ๐๐ซ๐จ๐ ๐ซ๐๐ฆ
๐ตDevOps Engineer Masters Program: https://bit.ly/3pXp1Ou
๐๐๐ฎ๐ซ๐๐ค๐ ๐๐ง๐ข๐ฏ๐๐ซ๐ฌ๐ข๐ญ๐ฒ ๐๐ซ๐จ๐ ๐ซ๐๐ฆ
๐ Post Graduate Program in DevOps with Purdue University: https://bit.ly/3yqRlMS
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Slideshare: https://www.slideshare.net/EdurekaIN
Podcast : ย https://castbox.fm/channel/id1684800ย ย
#Edureka #DevOpsEdureka #GitInterviewQuestions #DevOps #DevOpsCertificationTraining
--------------------------------------------------------------------------------------------------------------------------------------
How it Works?
1. This Certification Training courses span over a duration of 4-16 Weeks.
2. We have a 24x7 One-on-One LIVE Technical Support to help you with any problems you
might face or any clarifications you may require during the course.
3. At the end of the training you will be working on a real time project for which we will provide
you a Grade and a Verifiable Certificate
--------------------------------------------------------------------
About These Courses
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
8. Fine tune Performance and set-up basic Security for Infrastructure
9. Manage server operations using Code which is popularly known as Infrastructure as a Code
10. Understand the need for and concepts of Monitoring and Logging.
Along with the above mentioned topics, to help you master the most popular DevOps tools, you
will also receive 3 additional self-paced courses including presentations, class recordings,
assignments, solutions for the following tools:
1: Ansible - Covers Introduction, Setup & Configuration, Ansible Playbooks, 37 Ansible Modules,
Different Roles and Command Line usage.
2: Chef - Covers Introduction, Building the Cook Book, Node Object & Search, Data-bags, Chef
environment, Roles, Deploying Nodes in Production and using the Open Source Chef Server.
3: Puppet - Covers Puppet Infrastructure & run-cycle, the Puppet Language, Environment
defining Nodes and Modules, Provisioning a Web Server and Executing Modules Against A
Puppet Master.ย
--------------------------------------------------------------------
Who should go for this course?
DevOps practitioners are among the highest paid IT professionals today, and the market demand
for them is growing rapidly. With emergence of new job roles around DevOps philosophy, anyone
aspiring to get into these new roles, can take up this DevOps course. Some of these roles are:
1. DevOps Architect
2. Automation Engineer
3. Software Tester
4. Security Engineer
5. Integration Specialist
6. Release Manager
ย ---------------------------------------------------------------------------------------------------------
Got a question on the topic? Please share it in the comment section below and our experts will
answer it for you.
For more information, please write back to us at sales@edureka.in or call us at IND:
9606058406 / US: 18338555775 (toll free).
detail
{'title': 'Top 50 Git Interview Questions and Answers | Git Interview Preparation | DevOps Training | Edureka', 'heatmap': [{'end': 525.842, 'start': 496.409, 'weight': 1}, {'end': 746.047, 'start': 660.922, 'weight': 0.861}, {'end': 1571.29, 'start': 1528.396, 'weight': 0.731}], 'summary': "Covers interview questions about git at beginner, intermediate, and advanced levels, introduces git as a distributed version control system, discusses branching strategies, forking workflow, project workflow, and integrating git with jenkins, and highlights the importance of key git commands such as 'git cherry-pick' and 'git reflog' in git workflows.", 'chapters': [{'end': 48.536, 'segs': [{'end': 48.536, 'src': 'embed', 'start': 11.906, 'weight': 0, 'content': [{'end': 16.549, 'text': 'Hello guys, this is Arvind here from Edureka and I welcome you all to the session on get interview questions.', 'start': 11.906, 'duration': 4.643}, {'end': 21.132, 'text': "So before we move any further, let us have a quick look at the agenda for today's session.", 'start': 17.189, 'duration': 3.943}, {'end': 25.014, 'text': 'We will start this session by the beginners level of interview questions.', 'start': 21.812, 'duration': 3.202}, {'end': 27.756, 'text': 'Then we will proceed to the intermediate level questions.', 'start': 25.335, 'duration': 2.421}, {'end': 35.301, 'text': "And finally we will conclude with the advanced level of interview questions asked on get I hope I'm clear with the agenda guys pretty simple.", 'start': 28.216, 'duration': 7.085}, {'end': 39.827, 'text': 'And just a reminder in case you have not yet subscribed to our YouTube channel,', 'start': 35.842, 'duration': 3.985}, {'end': 44.912, 'text': 'please do subscribe and also click on the bell icon so that you never miss an update from edureka.', 'start': 39.827, 'duration': 5.085}, {'end': 48.536, 'text': 'So without any further delay, let us begin with our first topic.', 'start': 45.713, 'duration': 2.823}], 'summary': 'Arvind from edureka presents interview questions at beginner, intermediate, and advanced levels for git.', 'duration': 36.63, 'max_score': 11.906, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I11906.jpg'}], 'start': 11.906, 'title': 'Interview questions on git', 'summary': 'Covers interview questions about git, including beginner, intermediate, and advanced levels, and emphasizes the importance of subscribing to the youtube channel for updates.', 'chapters': [{'end': 48.536, 'start': 11.906, 'title': 'Interview questions on git', 'summary': 'Covers the agenda for the session on interview questions about git, including beginner, intermediate, and advanced levels, and emphasizes the importance of subscribing to the youtube channel for updates.', 'duration': 36.63, 'highlights': ['The session covers beginner, intermediate, and advanced levels of interview questions on Git, providing a comprehensive understanding for viewers.', "The importance of subscribing to the YouTube channel and clicking on the bell icon is emphasized for staying updated with Edureka's content.", 'The session is hosted by Arvind from Edureka, providing a personal touch and credibility to the content.']}], 'duration': 36.63, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I11906.jpg', 'highlights': ['The session covers beginner, intermediate, and advanced levels of interview questions on Git, providing a comprehensive understanding for viewers.', "The importance of subscribing to the YouTube channel and clicking on the bell icon is emphasized for staying updated with Edureka's content.", 'The session is hosted by Arvind from Edureka, providing a personal touch and credibility to the content.']}, {'end': 833.515, 'segs': [{'end': 96.583, 'src': 'embed', 'start': 70.177, 'weight': 0, 'content': [{'end': 76.819, 'text': 'One of the major advantages that it does not rely on a central server to store all the versions of our projects files.', 'start': 70.177, 'duration': 6.642}, {'end': 78.699, 'text': 'So what happens in get this?', 'start': 77.439, 'duration': 1.26}, {'end': 83.86, 'text': 'instead, every developer clones a copy of a repository, as you can see in this diagram,', 'start': 78.699, 'duration': 5.161}, {'end': 87.721, 'text': 'and he has the full history of the project available on his hard drive.', 'start': 83.86, 'duration': 3.861}, {'end': 93.482, 'text': 'So, whenever there is a server outage, all you need to do is just copy one of your teammates local,', 'start': 88.181, 'duration': 5.301}, {'end': 96.583, 'text': 'get repository and bang you have the code on your system.', 'start': 93.482, 'duration': 3.101}], 'summary': 'Decentralized storage system, allowing every developer to clone a local repository with full project history, ensuring resilience during server outages.', 'duration': 26.406, 'max_score': 70.177, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I70177.jpg'}, {'end': 149.824, 'src': 'embed', 'start': 126.716, 'weight': 2, 'content': [{'end': 134.759, 'text': 'Here every programmer can maintain a local repository which is actually the copy or the clone of the central repository which is present on their hard drive.', 'start': 126.716, 'duration': 8.043}, {'end': 141.101, 'text': 'So developers can commit and update the local repository without any hassles with an operation called pull.', 'start': 134.919, 'duration': 6.182}, {'end': 149.824, 'text': 'they can update their local repositories with the new data from the central server and pull operation of exchanges to the main repository from their local repository.', 'start': 141.101, 'duration': 8.723}], 'summary': 'Programmers maintain local repository, update with pull operation, and exchange data with central repository.', 'duration': 23.108, 'max_score': 126.716, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I126716.jpg'}, {'end': 188.135, 'src': 'embed', 'start': 161.728, 'weight': 1, 'content': [{'end': 168.112, 'text': 'version control system gives you the flexibility to merge all the changes into a common version.', 'start': 161.728, 'duration': 6.384}, {'end': 173.676, 'text': 'all the previous versions and variants are neatly packed up inside the version control system or the VCS.', 'start': 168.112, 'duration': 5.564}, {'end': 180.821, 'text': "You can request any version at any time as per your requirement and you'll have a snapshot of the complete project right at your hand.", 'start': 174.016, 'duration': 6.805}, {'end': 188.135, 'text': 'So whenever you save a new version of your project your VCS requires you to provide a short description of the changes that you have made.', 'start': 181.494, 'duration': 6.641}], 'summary': 'Version control system allows merging changes, accessing any version, and tracking project history.', 'duration': 26.407, 'max_score': 161.728, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I161728.jpg'}, {'end': 258.297, 'src': 'embed', 'start': 196.877, 'weight': 3, 'content': [{'end': 206.299, 'text': 'finally, a distributed version control system like get allows the team members to have a complete history of the project so that if there is a breakdown in the central server,', 'start': 196.877, 'duration': 9.422}, {'end': 209.26, 'text': 'you can use any of your teammates local get repository.', 'start': 206.299, 'duration': 2.961}, {'end': 213.516, 'text': 'So these were a few advantages of using the version control system.', 'start': 210.174, 'duration': 3.342}, {'end': 220.859, 'text': 'The next question is what is the difference between get an SVN? So get is a decentralized version control tool.', 'start': 214.256, 'duration': 6.603}, {'end': 227.662, 'text': 'Whereas SVN is a centralized version control tool get belongs to the third generation of the version control tools.', 'start': 221.299, 'duration': 6.363}, {'end': 231.743, 'text': 'Whereas SVN belongs to the second generation of the version control tools.', 'start': 227.902, 'duration': 3.841}, {'end': 237.266, 'text': 'So what happens in get is clients can clone entire repositories on their local systems.', 'start': 232.164, 'duration': 5.102}, {'end': 242.909, 'text': 'whereas in SVN version history is stored on this server side of the repository.', 'start': 237.887, 'duration': 5.022}, {'end': 249.312, 'text': "in git, commits are possible even if you're offline, whereas in SVN only online commits are allowed.", 'start': 242.909, 'duration': 6.403}, {'end': 258.297, 'text': 'So, in git the push and pull operations are comparatively faster, whereas in SVN the push-pull operations are comparatively slower.', 'start': 249.913, 'duration': 8.384}], 'summary': 'Git allows decentralized version control, enabling offline commits and faster push-pull operations compared to svn.', 'duration': 61.42, 'max_score': 196.877, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I196877.jpg'}, {'end': 334.234, 'src': 'embed', 'start': 294.776, 'weight': 6, 'content': [{'end': 300.018, 'text': 'Whereas GitHub is a get repository hosting service plus it adds many of its own features.', 'start': 294.776, 'duration': 5.242}, {'end': 303.178, 'text': 'So get up provides a web-based graphical interface.', 'start': 300.458, 'duration': 2.72}, {'end': 310.04, 'text': 'It also provides access control and several collaboration features basic task management tools for every project.', 'start': 303.758, 'duration': 6.282}, {'end': 313.157, 'text': 'So the next question is what language is used in git.', 'start': 310.854, 'duration': 2.303}, {'end': 319.667, 'text': 'So here instead of just telling the name of the language, you should also mention the reason for using this language as well.', 'start': 313.878, 'duration': 5.789}, {'end': 329.952, 'text': 'So get uses C language get is fast and C language makes this possible by reducing the overhead of run times associated with high-level languages.', 'start': 320.268, 'duration': 9.684}, {'end': 334.234, 'text': 'The next question is mentioned the various get repository hosting functions.', 'start': 330.392, 'duration': 3.842}], 'summary': 'Github is a fast git repository hosting service with web-based interface and collaboration tools, using c language for efficiency.', 'duration': 39.458, 'max_score': 294.776, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I294776.jpg'}, {'end': 380.069, 'src': 'embed', 'start': 355.044, 'weight': 8, 'content': [{'end': 360.25, 'text': 'So get can store all the files either on the local repository or on the remote repository.', 'start': 355.044, 'duration': 5.206}, {'end': 363.405, 'text': 'The next question is what is a bear repository?', 'start': 361.184, 'duration': 2.221}, {'end': 374.228, 'text': "and get so a bear repository and get contains information about the version control and no working files and it doesn't contain the special dot get subdirectory instead.", 'start': 363.405, 'duration': 10.823}, {'end': 380.069, 'text': 'It contains all the contents of the dot get subdirectory directly in the main directory itself.', 'start': 374.448, 'duration': 5.621}], 'summary': 'Git can store files locally or remotely. a bare repository contains version control info, no working files, and omits the .git subdirectory.', 'duration': 25.025, 'max_score': 355.044, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I355044.jpg'}, {'end': 426.88, 'src': 'embed', 'start': 396.797, 'weight': 10, 'content': [{'end': 402.54, 'text': 'So a commit message is nothing but an information that you provide along with the command called commit,', 'start': 396.797, 'duration': 5.743}, {'end': 410.163, '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': 402.54, 'duration': 7.623}, {'end': 417.158, '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': 410.544, 'duration': 6.614}, {'end': 420.359, 'text': 'So the next question is explain some basic git commands.', 'start': 417.518, 'duration': 2.841}, {'end': 426.88, 'text': 'So as you can see here on this slide, these are the various commands some basic git commands that you should be aware of.', 'start': 421.519, 'duration': 5.361}], 'summary': 'Commit message provides info about changes. basic git commands explained.', 'duration': 30.083, 'max_score': 396.797, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I396797.jpg'}, {'end': 525.842, 'src': 'heatmap', 'start': 496.409, 'weight': 1, 'content': [{'end': 505.814, 'text': 'So the next question is how do you fix a broken commit? So in order to fix any broken commit you can use the command get commit hyphen hyphen amend.', 'start': 496.409, 'duration': 9.405}, {'end': 510.596, 'text': 'So when you run this command, you can fix the broken commit message in the editor.', 'start': 506.374, 'duration': 4.222}, {'end': 513.236, 'text': 'So the next question is what is a conflict?', 'start': 511.236, 'duration': 2}, {'end': 514.538, 'text': 'and get So.', 'start': 513.236, 'duration': 1.302}, {'end': 520, 'text': 'git can handle on its own most merges by using its automatic merging features.', 'start': 514.538, 'duration': 5.462}, {'end': 525.842, 'text': 'there arises a conflict when two separate branches have made edits to the same line in a file,', 'start': 520, 'duration': 5.842}], 'summary': "Fix broken commit with 'git commit --amend', resolve conflicts with git's automatic merging features.", 'duration': 29.433, 'max_score': 496.409, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I496409.jpg'}, {'end': 746.047, 'src': 'heatmap', 'start': 660.922, 'weight': 0.861, 'content': [{'end': 667.907, 'text': 'You can push to get or commit to subversion as per your convenience synchronization will be done by sub gate.', 'start': 660.922, 'duration': 6.985}, {'end': 673.051, 'text': 'So the next question is what is the difference between get pull and get fetch?', 'start': 668.327, 'duration': 4.724}, {'end': 674.592, 'text': 'get pull command pulls,', 'start': 673.051, 'duration': 1.541}, {'end': 682.317, 'text': 'new changes or commits from a particular branch from your central repository and updates your target branch in your local repository?', 'start': 674.592, 'duration': 7.725}, {'end': 687.681, 'text': 'Whereas get fetch is used for the same purpose, but it works in a slightly different way.', 'start': 682.697, 'duration': 4.984}, {'end': 695.554, 'text': 'When you perform a git fetch it pulls all new comments from the desired branch and stores it in a new branch in your local repository.', 'start': 688.348, 'duration': 7.206}, {'end': 701.418, 'text': 'If you want to reflect these changes in your target branch git fetch must be followed with a git merge.', 'start': 696.034, 'duration': 5.384}, {'end': 707.943, 'text': 'So in this case your target branch will only be updated after merging the target branched and the fetched branch.', 'start': 701.778, 'duration': 6.165}, {'end': 710.353, 'text': 'So just to make it very simple for you.', 'start': 708.712, 'duration': 1.641}, {'end': 716.255, 'text': "There's one equation that you must remember so get pull equal to get fetch plus get merge.", 'start': 710.553, 'duration': 5.702}, {'end': 721.858, 'text': 'So what is the staging area or the index in get before completing the commits?', 'start': 716.775, 'duration': 5.083}, {'end': 728.18, 'text': 'any change can be formatted and reviewed in an intermediate area known as the staging area or the index,', 'start': 721.858, 'duration': 6.322}, {'end': 730.901, 'text': 'so you can refer the diagram on your slide for more reference.', 'start': 728.18, 'duration': 2.721}, {'end': 734.863, 'text': 'So this will give you a clear-cut idea of what exactly is the staging area.', 'start': 731.341, 'duration': 3.522}, {'end': 738.661, 'text': 'The next question is what is the use of get instaweb?', 'start': 735.558, 'duration': 3.103}, {'end': 746.047, 'text': 'get instaweb is used to automatically direct a web browser and run a web server with an interface into your local repository.', 'start': 738.661, 'duration': 7.386}], 'summary': 'Understanding the differences between git pull and git fetch, and the purpose of staging area in git.', 'duration': 85.125, 'max_score': 660.922, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I660922.jpg'}], 'start': 48.676, 'title': 'Git and version control', 'summary': 'Introduces git as a distributed version control system, highlighting its advantages such as not relying on a central server, the ability to clone and store the full project history locally, the flexibility to merge changes, and access previous versions easily. it also discusses the advantages of using version control systems, the differences between git and svn, and covers basic git commands, resolving conflicts, reverting commits, and the use of git stash and git instaweb.', 'chapters': [{'end': 196.877, 'start': 48.676, 'title': 'Introduction to git and version control', 'summary': 'Introduces git as a distributed version control system, highlighting its advantages such as not relying on a central server, the ability to clone and store the full project history locally, and the flexibility to merge changes and access previous versions easily.', 'duration': 148.201, 'highlights': ['Git is a distributed version control system that does not rely on a central server, allowing developers to clone a repository and have the full project history available locally on their hard drives.', 'The advantages of using a version control system include the flexibility to merge changes, access previous versions easily, and track changes made in the project, providing a snapshot of the complete project at any given time.', 'Developers can commit and update their local repositories without hassles using operations like pull, and can exchange updates to the main repository from their local repository.']}, {'end': 833.515, 'start': 196.877, 'title': 'Git: advantages, differences, and basic commands', 'summary': 'Discusses the advantages of using version control systems, the differences between git and svn, and the basic git commands. it also covers resolving conflicts, reverting commits, and the use of git stash and git instaweb.', 'duration': 636.638, 'highlights': ["Git allows team members to have a complete history of the project, enabling usage of teammates' local Git repositories in case of a breakdown in the central server. This emphasizes the advantage of Git in providing a complete history of the project, ensuring resilience in the event of a central server breakdown.", 'Git is a decentralized version control tool, allowing clients to clone entire repositories on their local systems, while SVN is a centralized version control tool with version history stored on the server side. Explains the fundamental difference between Git and SVN, emphasizing their decentralized and centralized nature, respectively.', "Git allows commits even when offline, with faster push and pull operations, and automatic sharing of works by commit command, in contrast to SVN's limitations in offline commits and slower push-pull operations. Provides quantifiable differences between Git and SVN, such as offline commit capability and the speed of push-pull operations.", 'GitHub, a Git repository hosting service, provides a web-based graphical interface, access control, collaboration features, and basic task management tools for projects. Highlights the features and advantages of GitHub as a Git repository hosting service, including web-based interface and collaboration tools.', 'Git uses C language for speed and reducing the overhead of run times associated with high-level languages. Explains the choice of C language in Git, emphasizing its role in achieving speed and reducing runtime overhead.', 'A repository in Git is where all the files are stored, either on the local or remote repository. Defines the concept of a repository in Git and its role in storing project files.', 'A bare repository in Git contains information about version control and no working files, with differences from the working directory explained. Explains the characteristics of a bare repository in Git, highlighting its purpose and content.', 'A commit message provides information about the changes made, and basic Git commands include init, status, clone, add, commit, and push. Summarizes the purpose of a commit message and outlines some fundamental Git commands for managing repositories.']}], 'duration': 784.839, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I48676.jpg', 'highlights': ['Git is a distributed version control system that does not rely on a central server, allowing developers to clone a repository and have the full project history available locally on their hard drives.', 'The advantages of using a version control system include the flexibility to merge changes, access previous versions easily, and track changes made in the project, providing a snapshot of the complete project at any given time.', 'Developers can commit and update their local repositories without hassles using operations like pull, and can exchange updates to the main repository from their local repository.', "Git allows team members to have a complete history of the project, enabling usage of teammates' local Git repositories in case of a breakdown in the central server. This emphasizes the advantage of Git in providing a complete history of the project, ensuring resilience in the event of a central server breakdown.", 'Git is a decentralized version control tool, allowing clients to clone entire repositories on their local systems, while SVN is a centralized version control tool with version history stored on the server side. Explains the fundamental difference between Git and SVN, emphasizing their decentralized and centralized nature, respectively.', "Git allows commits even when offline, with faster push and pull operations, and automatic sharing of works by commit command, in contrast to SVN's limitations in offline commits and slower push-pull operations. Provides quantifiable differences between Git and SVN, such as offline commit capability and the speed of push-pull operations.", 'GitHub, a Git repository hosting service, provides a web-based graphical interface, access control, collaboration features, and basic task management tools for projects. Highlights the features and advantages of GitHub as a Git repository hosting service, including web-based interface and collaboration tools.', 'Git uses C language for speed and reducing the overhead of run times associated with high-level languages. Explains the choice of C language in Git, emphasizing its role in achieving speed and reducing runtime overhead.', 'A repository in Git is where all the files are stored, either on the local or remote repository. Defines the concept of a repository in Git and its role in storing project files.', 'A bare repository in Git contains information about version control and no working files, with differences from the working directory explained. Explains the characteristics of a bare repository in Git, highlighting its purpose and content.', 'A commit message provides information about the changes made, and basic Git commands include init, status, clone, add, commit, and push. Summarizes the purpose of a commit message and outlines some fundamental Git commands for managing repositories.']}, {'end': 1107.981, 'segs': [{'end': 902.77, 'src': 'embed', 'start': 876.706, 'weight': 0, 'content': [{'end': 881.629, 'text': 'The next question is mentioned the differences between the git clone and get remote.', 'start': 876.706, 'duration': 4.923}, {'end': 888.252, 'text': 'so get remote creates an entry into your git config that specifies a name for a particular URL,', 'start': 881.629, 'duration': 6.623}, {'end': 895.207, 'text': 'whereas Get clone creates a new git repository by copying an existing one located at the URL.', 'start': 888.252, 'duration': 6.955}, {'end': 902.77, 'text': 'The next question is what is git stash drop? So git stash drop command is used to remove the stashed item.', 'start': 895.848, 'duration': 6.922}], 'summary': 'Git clone copies repository, get remote creates git config entry, git stash drop removes stashed item.', 'duration': 26.064, 'max_score': 876.706, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I876706.jpg'}, {'end': 1025.546, 'src': 'embed', 'start': 983.97, 'weight': 3, 'content': [{'end': 991.991, 'text': 'So suppose you want to give a username and an email ID to associate a commit with an identity so that you can know who has made a particular commit.', 'start': 983.97, 'duration': 8.021}, {'end': 996.612, 'text': 'So for that there are two commands, as you can see on the slide git config hyphen hyphen,', 'start': 992.331, 'duration': 4.281}, {'end': 1002.613, 'text': 'global user dot name and your name that you want to give to the user, and then the email.', 'start': 996.612, 'duration': 6.001}, {'end': 1007.945, 'text': 'So the command for that is get conflict global user dot email and your email address.', 'start': 1003.34, 'duration': 4.605}, {'end': 1011.509, 'text': 'So the next question is what does the commit object contain?', 'start': 1008.546, 'duration': 2.963}, {'end': 1015.393, 'text': 'So, commit object basically contains three components.', 'start': 1012.33, 'duration': 3.063}, {'end': 1019.657, 'text': 'first, a set of files representing the state of a project at any given point of time.', 'start': 1015.393, 'duration': 4.264}, {'end': 1025.546, 'text': 'The second one is the reference to the parent commit objects and the third one is an SHA one name,', 'start': 1020.098, 'duration': 5.448}], 'summary': 'To associate a commit with an identity, use git config to set username and email. commit object contains files, parent references, and sha-1 name.', 'duration': 41.576, 'max_score': 983.97, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I983970.jpg'}, {'end': 1075.4, 'src': 'embed', 'start': 1044.191, 'weight': 2, 'content': [{'end': 1048.873, 'text': 'So a feature branch model keeps all of the changes for a particular feature inside of a branch.', 'start': 1044.191, 'duration': 4.682}, {'end': 1056.184, 'text': 'When the feature is fully tested and validated by automated tests the branches then merged into the master.', 'start': 1049.679, 'duration': 6.505}, {'end': 1060.488, 'text': 'The second is the task branching in this model.', 'start': 1057.465, 'duration': 3.023}, {'end': 1065.872, 'text': 'Each task is implemented on its own branch with the task key included in the branch name.', 'start': 1060.708, 'duration': 5.164}, {'end': 1075.4, 'text': 'It is easy to see which code implements which task by just looking at the task key in the branch name and the third branching is the release branching.', 'start': 1066.533, 'duration': 8.867}], 'summary': 'Feature branch model isolates feature changes for testing, task branching tracks tasks, release branching manages releases.', 'duration': 31.209, 'max_score': 1044.191, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I1044191.jpg'}], 'start': 834.292, 'title': 'Git commands and branching strategies', 'summary': 'Covers key differences between git commands such as get ref log, get status, get diff, git clone, get remote, and git stash drop, as well as branching strategies including feature branching, task branching, and release branching.', 'chapters': [{'end': 902.77, 'start': 834.292, 'title': 'Git commands and functions', 'summary': 'Covers key differences between git commands such as get ref log, get status, get diff, git clone, get remote, and git stash drop, providing insights into their functionalities and purposes.', 'duration': 68.478, 'highlights': ['Explained the differences between git commands like get ref log, get status, get diff, git clone, get remote, and git stash drop, providing clarity on their purposes and functionalities.', 'Highlighted the purpose of get status as showing the difference between the working directory and the index, aiding in a more comprehensive understanding of the changes (e.g., status is helpful in understanding git more comprehensively).', 'Outlined the difference between get diff and get status, emphasizing that get diff shows the differences between various commits and the working directory, while get status is focused on the working directory and the index.', 'Clarified the distinction between git clone and get remote, specifying that get remote creates an entry in the git config for a specific URL, while git clone creates a new repository by copying an existing one located at the URL.', 'Defined git stash drop as a command used to remove the stashed item, providing a clear understanding of its functionality within git operations.']}, {'end': 1107.981, 'start': 903.331, 'title': 'Git commands and branching strategies', 'summary': 'Covers git commands such as removing stash items, finding changed files in a commit, configuring username and email, and the content of a commit object. it also discusses branching strategies including feature branching, task branching, and release branching.', 'duration': 204.65, 'highlights': ['The chapter discusses git commands including removing stash items, finding changed files in a commit, and configuring username and email, as well as the content of a commit object.', 'The branching strategies covered include feature branching, task branching, and release branching, which are used for managing changes and releases in a project.', "The git command 'git config' is used for associating commits with an identity by setting the username and email. This helps in identifying the author of a particular commit.", "The commit object contains three components: a set of files representing the project's state, a reference to the parent commit objects, and an SHA-1 name that uniquely identifies the commit object."]}], 'duration': 273.689, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I834292.jpg', 'highlights': ['Explained the differences between git commands like get ref log, get status, get diff, git clone, get remote, and git stash drop, providing clarity on their purposes and functionalities.', 'Defined git stash drop as a command used to remove the stashed item, providing a clear understanding of its functionality within git operations.', 'The branching strategies covered include feature branching, task branching, and release branching, which are used for managing changes and releases in a project.', "The commit object contains three components: a set of files representing the project's state, a reference to the parent commit objects, and an SHA-1 name that uniquely identifies the commit object.", "The git command 'git config' is used for associating commits with an identity by setting the username and email. This helps in identifying the author of a particular commit."]}, {'end': 1309.624, 'segs': [{'end': 1170.912, 'src': 'embed', 'start': 1129.474, 'weight': 0, 'content': [{'end': 1133.575, 'text': 'The forking workflow is commonly seen in public open source projects.', 'start': 1129.474, 'duration': 4.101}, {'end': 1142.518, 'text': 'a crucial advantage of forking workflow is that contributions can be generated even without needing everybody to push to a single central repository.', 'start': 1133.575, 'duration': 8.943}, {'end': 1145.019, 'text': 'that leads to the clean project history.', 'start': 1142.518, 'duration': 2.501}, {'end': 1152.141, 'text': 'developers can push to their own server-side repositories, but only the project maintainer can push to the official repository.', 'start': 1145.019, 'duration': 7.122}, {'end': 1159.646, 'text': 'If developers are ready to publish a local commit then they push the commit to their own public repository and not the official one.', 'start': 1152.862, 'duration': 6.784}, {'end': 1167.85, 'text': 'So after this they go for a pull request with the main repository that lets the project maintainer know and update is ready to be integrated.', 'start': 1160.086, 'duration': 7.764}, {'end': 1170.912, 'text': 'So these were a few advantages of forking workflow.', 'start': 1168.331, 'duration': 2.581}], 'summary': 'Forking workflow allows contributions without pushing to central repository, leading to clean project history.', 'duration': 41.438, 'max_score': 1129.474, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I1129474.jpg'}, {'end': 1231.735, 'src': 'embed', 'start': 1190.777, 'weight': 7, 'content': [{'end': 1193.399, 'text': 'So this command lists the branches that have not been merged.', 'start': 1190.777, 'duration': 2.622}, {'end': 1199.963, 'text': 'The next question is why is it desirable to create an additional commit rather than amending an existing commit.', 'start': 1193.899, 'duration': 6.064}, {'end': 1202.523, 'text': 'So there are two reasons for this question.', 'start': 1200.822, 'duration': 1.701}, {'end': 1208.768, 'text': 'So the first one, the amend operation destroys the state that was previously saved in a commit.', 'start': 1203.104, 'duration': 5.664}, {'end': 1212.992, 'text': 'if there is just the commit message that is being changed, then that is not a problem.', 'start': 1208.768, 'duration': 4.224}, {'end': 1218.917, 'text': 'But if the contents are being amended then the chances of eliminating something important remains more.', 'start': 1213.432, 'duration': 5.485}, {'end': 1227.764, 'text': 'The second reason is that abusing it hyphen hyphen amend command can result in the growth of a small commit and acquire unrelated changes.', 'start': 1219.417, 'duration': 8.347}, {'end': 1231.735, 'text': 'The next question is what does hook comprise of and get?', 'start': 1228.57, 'duration': 3.165}], 'summary': 'List unmerged branches, reasons to create new commit, and hook composition.', 'duration': 40.958, 'max_score': 1190.777, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I1190777.jpg'}, {'end': 1277.198, 'src': 'embed', 'start': 1251.599, 'weight': 4, 'content': [{'end': 1258.366, 'text': 'this command in a true sense creates a new commit with patches that cancel out the changes introduced in the specific comments.', 'start': 1251.599, 'duration': 6.767}, {'end': 1266.031, 'text': 'If, in case the commit that needs to be reverted has already been published or changing the repository history is not an option,', 'start': 1258.866, 'duration': 7.165}, {'end': 1270.174, 'text': 'then in such cases get revert command can be used to revert the commits.', 'start': 1266.031, 'duration': 4.143}, {'end': 1277.198, 'text': 'So, alternatively, there is always an option to check out the state of a particular comment from the past and committed a new.', 'start': 1270.674, 'duration': 6.524}], 'summary': 'Get revert command cancels out changes in commits.', 'duration': 25.599, 'max_score': 1251.599, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I1251599.jpg'}, {'end': 1315.088, 'src': 'embed', 'start': 1289.247, 'weight': 5, 'content': [{'end': 1295.693, 'text': 'However, git RM command will remove it from both your staging area as well as your file system, but this may not be what you want.', 'start': 1289.247, 'duration': 6.446}, {'end': 1302.118, 'text': 'So instead you can use the command as you can see your git reset file or the eco file name and dot git ignore.', 'start': 1295.913, 'duration': 6.205}, {'end': 1306.521, 'text': 'So this means that git reset is exactly opposite to the git add command.', 'start': 1302.258, 'duration': 4.263}, {'end': 1309.624, 'text': 'So the next question is could you explain the git workflow??', 'start': 1306.822, 'duration': 2.802}, {'end': 1315.088, 'text': 'So, to record the history of the project, get workflow employees to parallel long-running branches.', 'start': 1310.024, 'duration': 5.064}], 'summary': 'Git rm removes from staging and filesystem. git reset is opposite to git add. git workflow records project history.', 'duration': 25.841, 'max_score': 1289.247, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I1289247.jpg'}], 'start': 1108.381, 'title': 'Forking workflow and git commands', 'summary': 'Explains the advantages of forking workflow in open source projects, highlighting its fundamental difference and enabling a clean project history. additionally, it discusses various git commands and workflow procedures, covering branch checking, commit amending, reverting commits, and file removal.', 'chapters': [{'end': 1170.912, 'start': 1108.381, 'title': 'Advantages of forking workflow', 'summary': 'Explains the advantages of forking workflow, highlighting its fundamental difference, its application in public open source projects, and the ability for developers to push to their own server-side repositories, leading to a clean project history and enabling a pull request with the main repository for integration.', 'duration': 62.531, 'highlights': ['The forking workflow allows every developer to have their own server-side repository, which is a fundamental difference from other popular git workflows.', 'This workflow is commonly seen in public open source projects, allowing contributions to be generated without needing everybody to push to a single central repository, leading to a clean project history.', 'Developers can push to their own server-side repositories, but only the project maintainer can push to the official repository, ensuring control over the main codebase.', 'When developers are ready to publish a local commit, they push the commit to their own public repository and initiate a pull request with the main repository for integration.']}, {'end': 1309.624, 'start': 1171.644, 'title': 'Git commands and workflow', 'summary': 'Discusses various git commands including branch checking, commit amending, reverting commits, file removal, and git workflow explanation.', 'duration': 137.98, 'highlights': ['The git revert command can be used to revert commits if the commit is already published or changing the repository history is not an option. The git revert command creates a new commit with patches that cancel out the changes introduced in the specific commits.', "The git reset command is used to remove a file from git without removing it from the file system, which is the opposite of the git add command. Using git reset or echo 'filename' > .gitignore allows removing a file from the staging area without affecting the file system.", 'The git workflow involves using git commands such as git add, git commit, and git push for version control and collaboration in software development. The git workflow comprises commands for staging changes, committing changes, and pushing changes to a remote repository for collaborative software development.', '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 branch --merged and git branch --no-merged commands helps in checking which branches have been merged into the master and which ones have not.', 'Abusing the git amend command can result in the growth of a small commit and acquire unrelated changes. Abusing the git amend command can lead to the accumulation of unrelated changes and the growth of small, unrelated commits.']}], 'duration': 201.243, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I1108381.jpg', 'highlights': ['The forking workflow allows every developer to have their own server-side repository, which is a fundamental difference from other popular git workflows.', 'This workflow is commonly seen in public open source projects, allowing contributions to be generated without needing everybody to push to a single central repository, leading to a clean project history.', 'Developers can push to their own server-side repositories, but only the project maintainer can push to the official repository, ensuring control over the main codebase.', 'When developers are ready to publish a local commit, they push the commit to their own public repository and initiate a pull request with the main repository for integration.', 'The git revert command can be used to revert commits if the commit is already published or changing the repository history is not an option. The git revert command creates a new commit with patches that cancel out the changes introduced in the specific commits.', 'The git reset command is used to remove a file from git without removing it from the file system, which is the opposite of the git add command.', 'The git workflow involves using git commands such as git add, git commit, and git push for version control and collaboration in software development.', '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.', 'Abusing the git amend command can result in the growth of a small commit and acquire unrelated changes.']}, {'end': 1726.386, 'segs': [{'end': 1352.461, 'src': 'embed', 'start': 1310.024, 'weight': 0, 'content': [{'end': 1315.088, 'text': 'So, to record the history of the project, get workflow employees to parallel long-running branches.', 'start': 1310.024, 'duration': 5.064}, {'end': 1318.871, 'text': 'The first one is the master branch and the second one is that develop branch.', 'start': 1315.669, 'duration': 3.202}, {'end': 1326.718, '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': 1319.532, 'duration': 7.186}, {'end': 1330.761, 'text': 'the hotfix branch in master is used to quickly patch the production release.', 'start': 1326.718, 'duration': 4.043}, {'end': 1338.467, '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': 1331.702, 'duration': 6.765}, {'end': 1340.691, 'text': 'and the second branch is the develop branch.', 'start': 1339.09, 'duration': 1.601}, {'end': 1346.796, 'text': 'This is the branch to which all the feature branches are merged and where all the tests are performed.', 'start': 1341.192, 'duration': 5.604}, {'end': 1352.461, 'text': "only when everything's been thoroughly checked and fixed it can be merged into the master here.", 'start': 1346.796, 'duration': 5.665}], 'summary': 'Project history recorded via workflow; master branch ready for live release, hotfix branch for quick patches, develop branch for feature merges and testing.', 'duration': 42.437, 'max_score': 1310.024, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I1310024.jpg'}, {'end': 1464.424, 'src': 'embed', 'start': 1437.957, 'weight': 5, 'content': [{'end': 1442.659, 'text': 'The git clone command is used to create a copy of an existing git repository.', 'start': 1437.957, 'duration': 4.702}, {'end': 1447.741, 'text': 'in very simple word, git branches are individual projects within a git repository.', 'start': 1442.659, 'duration': 5.082}, {'end': 1452.063, 'text': 'different branches within a git repository can have completely different files and folders.', 'start': 1447.741, 'duration': 4.322}, {'end': 1457.32, 'text': 'or it could have everything the same except for some lines of code in a particular file.', 'start': 1452.777, 'duration': 4.543}, {'end': 1464.424, 'text': 'The next question is what are the different ways by which you can refer to a commit? So in get each commit has a unique hash.', 'start': 1458.26, 'duration': 6.164}], 'summary': 'Git clone creates repository copy; branches are separate projects with unique hashes.', 'duration': 26.467, 'max_score': 1437.957, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I1437957.jpg'}, {'end': 1571.29, 'src': 'heatmap', 'start': 1519.091, 'weight': 4, 'content': [{'end': 1522.913, 'text': 'The next question is what is the difference between rebasing and merging?', 'start': 1519.091, 'duration': 3.822}, {'end': 1528.396, 'text': 'so, in get, the rebase command is used to integrate changes from one branch into another.', 'start': 1522.913, 'duration': 5.483}, {'end': 1530.978, 'text': 'it is an alternative to the merge command.', 'start': 1528.396, 'duration': 2.582}, {'end': 1538.262, 'text': 'the difference between rebasing and merging is that rebase rewrites the commit history in order to produce a straight, linear succession of commits.', 'start': 1530.978, 'duration': 7.284}, {'end': 1542.89, 'text': 'Merging is gets way of putting a forked history back together again.', 'start': 1538.846, 'duration': 4.044}, {'end': 1550.917, 'text': 'The git merge command helps you take the independent lines of development created by git branch and integrate them into a single branch.', 'start': 1543.41, 'duration': 7.507}, {'end': 1555.121, 'text': 'The next question is mentioned the difference between revert and reset.', 'start': 1551.518, 'duration': 3.603}, {'end': 1559.986, 'text': 'So reset is used to return the entire working tree to the last committed state.', 'start': 1555.762, 'duration': 4.224}, {'end': 1564.63, 'text': 'This will scrap commits in a private branch or throw away uncommitted changes.', 'start': 1560.686, 'duration': 3.944}, {'end': 1571.29, 'text': 'Reset changes which commit a branch head is currently pointing at it alters the existing commit history.', 'start': 1565.509, 'duration': 5.781}], 'summary': 'Rebasing creates linear commit history, merging integrates independent branches. reset returns to last committed state.', 'duration': 40.895, 'max_score': 1519.091, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I1519091.jpg'}, {'end': 1676.095, 'src': 'embed', 'start': 1647.68, 'weight': 3, 'content': [{'end': 1653.426, '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': 1647.68, 'duration': 5.746}, {'end': 1660.824, 'text': 'This command uses a binary search algorithm to find out which commit in your projects history introduced a bug.', 'start': 1654.119, 'duration': 6.705}, {'end': 1668.709, 'text': 'you can use it by first telling it a bad commit that is known to contain a bug and a good comment that is known to be before the bug was introduced.', 'start': 1660.824, 'duration': 7.885}, {'end': 1676.095, 'text': 'then get bisect picks the commit between these two endpoints and asks you whether the selected commit is good or bad.', 'start': 1668.709, 'duration': 7.386}], 'summary': 'Git bisect command uses binary search algorithm to find bug-introducing commit.', 'duration': 28.415, 'max_score': 1647.68, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I1647680.jpg'}, {'end': 1720.203, 'src': 'embed', 'start': 1691.289, 'weight': 7, 'content': [{'end': 1694.272, 'text': "and I'm also going to show you the screenshots for these four steps.", 'start': 1691.289, 'duration': 2.983}, {'end': 1701.64, 'text': 'So for anyone who is aware of Jenkins or has used Jenkins, you must be aware of this home page or the Jenkins dashboard.', 'start': 1694.752, 'duration': 6.888}, {'end': 1709.097, 'text': "So here you need to click on manage Jenkins, and once you click on manage Jenkins, you'll find this option here the manage plugins option.", 'start': 1702.313, 'duration': 6.784}, {'end': 1714.28, 'text': 'click on that and then you will have to search for the plug-in here, as you can see in this screenshot.', 'start': 1709.097, 'duration': 5.183}, {'end': 1720.203, 'text': 'click on this plug-in, and here you have these two options installed without restart download now and install after restart,', 'start': 1714.28, 'duration': 5.923}], 'summary': 'Demonstrating 4 steps for installing jenkins plugin with options to install without restart or after restart.', 'duration': 28.914, 'max_score': 1691.289, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I1691289.jpg'}], 'start': 1310.024, 'title': 'Git and project workflow', 'summary': 'Discusses project workflow, including master, develop, hotfix, and feature branches, and covers git basics, advanced commands, forking, branching, cloning, rebasing, merging, reverting, resetting, squashing, bisect, and integrating git with jenkins.', 'chapters': [{'end': 1393.438, 'start': 1310.024, 'title': 'Project workflow and branch structure', 'summary': 'Discusses the project workflow, including the master, develop, hotfix, and feature branches, and explains the difference between the working tree and index in version control systems.', 'duration': 83.414, 'highlights': ['The master branch is always ready to be released on live with everything fully tested and approved, in a production-ready state. The master branch is consistently maintained at a production-ready state, ensuring that all changes have been thoroughly tested and approved before release.', 'The develop branch is where all the feature branches are merged and where all the tests are performed before merging into the master branch. The develop branch serves as the integration point for all feature branches, undergoing thorough testing before merging into the master branch.', 'Each new feature resides in its own feature branch, which can be pushed to the develop branch as its parent branch. A separate feature branch is created for each new feature, allowing for independent development and subsequent integration into the develop branch.', 'The working tree is the directory of source files that can be seen and edited, while the index is a staging area that lists all files in the current branch, their checksums, timestamps, and file names. The working tree represents the visible and editable source files, while the index serves as a staging area listing files, their checksums, timestamps, and names within the current branch.']}, {'end': 1726.386, 'start': 1394.088, 'title': 'Git basics and advanced commands', 'summary': 'Covers the basics of git, including the differences between forking, branching, and cloning, ways to refer to a commit, rebasing and merging, as well as advanced commands such as reverting, resetting, squashing, bisect, and integrating git with jenkins.', 'duration': 332.298, 'highlights': ["Git bisect is used to find the commit that introduced a bug by using a binary search algorithm, narrowing down the range until it finds the exact commit that introduced the change. The git bisect command uses a binary search algorithm to find the commit that introduced a bug by narrowing down the range until it finds the exact commit. This helps in identifying the source of a bug in the project's history.", 'The git rebase command integrates changes from one branch into another by rewriting the commit history to produce a straight, linear succession of commits, providing an alternative to the merge command. Git rebase integrates changes from one branch into another by rewriting the commit history, creating a linear succession of commits. This offers an alternative to the merge command for integrating changes.', 'The git clone command is used to create a copy of an existing git repository, making it accessible in a new directory at another location, and it is commonly used to experiment with changes without affecting the original project. Git clone creates a copy of an existing git repository in a new directory at another location, allowing for experimentation without affecting the original project. This is a common practice for proposing changes or using a project as a starting point.', 'Reset command is used to return the entire working tree to the last committed state, altering the existing commit history and allowing the un-staging of files, while the revert command creates a new commit that undoes changes from a previous commit without modifying the existing history. The git reset command returns the working tree to the last committed state, altering commit history and un-staging files, while the git revert command creates a new commit to undo changes from a previous commit without modifying the existing history.', 'Integrating Git with Jenkins involves steps such as managing plugins, searching and installing the Git plugin, and configuring it within the Jenkins dashboard. Integrating Git with Jenkins involves managing plugins, searching and installing the Git plugin, and configuring it within the Jenkins dashboard. This enables the seamless integration of Git with Jenkins for continuous integration and delivery.']}], 'duration': 416.362, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I1310024.jpg', 'highlights': ['The master branch is consistently maintained at a production-ready state, ensuring that all changes have been thoroughly tested and approved before release.', 'The develop branch serves as the integration point for all feature branches, undergoing thorough testing before merging into the master branch.', 'A separate feature branch is created for each new feature, allowing for independent development and subsequent integration into the develop branch.', "The git bisect command uses a binary search algorithm to find the commit that introduced a bug by narrowing down the range until it finds the exact commit. This helps in identifying the source of a bug in the project's history.", 'Git rebase integrates changes from one branch into another by rewriting the commit history, creating a linear succession of commits. This offers an alternative to the merge command for integrating changes.', 'Git clone creates a copy of an existing git repository in a new directory at another location, allowing for experimentation without affecting the original project. This is a common practice for proposing changes or using a project as a starting point.', 'The git reset command returns the working tree to the last committed state, altering commit history and un-staging files, while the git revert command creates a new commit to undo changes from a previous commit without modifying the existing history.', 'Integrating Git with Jenkins involves managing plugins, searching and installing the Git plugin, and configuring it within the Jenkins dashboard. This enables the seamless integration of Git with Jenkins for continuous integration and delivery.']}, {'end': 2000.025, 'segs': [{'end': 1757.135, 'src': 'embed', 'start': 1726.386, 'weight': 1, 'content': [{'end': 1727.987, 'text': 'along with its version number.', 'start': 1726.386, 'duration': 1.601}, {'end': 1731.549, 'text': 'So these are the steps that you must follow to integrate get with Jenkins.', 'start': 1728.227, 'duration': 3.322}, {'end': 1738.669, 'text': 'So the next question is how do you configure a repository to run code sanity checking tools right before making commits.', 'start': 1732.307, 'duration': 6.362}, {'end': 1743.331, 'text': 'So here you must first mention what exactly is sanity checking?', 'start': 1739.609, 'duration': 3.722}, {'end': 1749.513, 'text': 'a sanity or smoke test determines whether it is possible and reasonable to continue testing.', 'start': 1743.331, 'duration': 6.182}, {'end': 1752.493, 'text': 'and now you must explain how do you achieve this.', 'start': 1749.513, 'duration': 2.98}, {'end': 1757.135, 'text': 'so this can be done with a simple script related to the pre-commit hook of the repository.', 'start': 1752.493, 'duration': 4.642}], 'summary': 'Integrate get with jenkins and configure repository for sanity checking tools using pre-commit hook.', 'duration': 30.749, 'max_score': 1726.386, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I1726386.jpg'}, {'end': 1811.472, 'src': 'embed', 'start': 1773.666, 'weight': 0, 'content': [{'end': 1777.009, 'text': "So, as you can see here, this is the script that I'm talking about.", 'start': 1773.666, 'duration': 3.343}, {'end': 1787.417, 'text': 'the purpose of the script is that it checks to see if any dot go file that is about to be committed needs to be passed through the standard go source code formatting tool.', 'start': 1777.009, 'duration': 10.408}, {'end': 1793.842, 'text': 'by exiting with a non-zero status, the script effectively prevents the commit from being applied to the repository.', 'start': 1787.417, 'duration': 6.425}, {'end': 1797.257, 'text': 'The next question is what is get cherry pick?', 'start': 1794.494, 'duration': 2.763}, {'end': 1804.544, 'text': 'the command get cherry pick is normally used to introduce a particular commits from one branch within a repository on to a different branch.', 'start': 1797.257, 'duration': 7.287}, {'end': 1811.472, 'text': 'Another common use of this command is to forward or backport commits from a maintenance branch toward development branch.', 'start': 1805.105, 'duration': 6.367}], 'summary': 'Script enforces go source code formatting, git cherry pick forwards/backports commits.', 'duration': 37.806, 'max_score': 1773.666, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I1773666.jpg'}, {'end': 1853.905, 'src': 'embed', 'start': 1829.58, 'weight': 4, 'content': [{'end': 1837.022, 'text': 'The ref log command keeps a track of every single change made in the references, that is, the branches or the tax of a repository,', 'start': 1829.58, 'duration': 7.442}, {'end': 1842.763, 'text': 'and keeps a log history of the branches and the tags that were either created locally or checked out.', 'start': 1837.022, 'duration': 5.741}, {'end': 1848.244, 'text': 'reference logs such as the commit snapshot of when the branch was created or clone, checked out,', 'start': 1842.763, 'duration': 5.481}, {'end': 1853.905, 'text': 'renamed or any comments made on the branch are maintained by git and listed by the ref log command.', 'start': 1848.244, 'duration': 5.661}], 'summary': "Git's ref log command tracks changes to branches and tags, maintaining a history of commits, checkouts, and comments.", 'duration': 24.325, 'max_score': 1829.58, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I1829580.jpg'}, {'end': 1896.01, 'src': 'embed', 'start': 1867.644, 'weight': 5, 'content': [{'end': 1871.866, 'text': 'So the next question is how to recover a deleted branch using the get reflock command.', 'start': 1867.644, 'duration': 4.222}, {'end': 1873.946, 'text': 'So here as you can see on the screen.', 'start': 1872.466, 'duration': 1.48}, {'end': 1879.888, 'text': "These are the three steps that you must follow to recover a deleted branch and I'm also going to show you the screenshots.", 'start': 1873.986, 'duration': 5.902}, {'end': 1885.129, 'text': 'Okay, so in the first step you get the history logs of all the references for that.', 'start': 1880.388, 'duration': 4.741}, {'end': 1887.07, 'text': 'You just need to type get reflock.', 'start': 1885.169, 'duration': 1.901}, {'end': 1892.129, 'text': 'And once you type this command, you can see the history log in the second step.', 'start': 1887.808, 'duration': 4.321}, {'end': 1896.01, 'text': 'You need to identify the timestamp of the branch that you want to recover.', 'start': 1892.169, 'duration': 3.841}], 'summary': 'Recover a deleted branch using get reflock command with 3 steps.', 'duration': 28.366, 'max_score': 1867.644, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I1867644.jpg'}, {'end': 1956.106, 'src': 'embed', 'start': 1927.653, 'weight': 6, 'content': [{'end': 1930.475, 'text': 'So this command is used to open up the manual page.', 'start': 1927.653, 'duration': 2.822}, {'end': 1933.436, 'text': 'The second command is the git reflock show.', 'start': 1931.175, 'duration': 2.261}, {'end': 1938.119, 'text': 'So this command shows the logs of the references provided in the command line.', 'start': 1934.017, 'duration': 4.102}, {'end': 1940.841, 'text': 'The third command is the git reflock expire.', 'start': 1938.64, 'duration': 2.201}, {'end': 1945.015, 'text': 'So this command is used to prune the older reflock entries.', 'start': 1941.471, 'duration': 3.544}, {'end': 1948.038, 'text': 'The fourth command is the git reflock delete.', 'start': 1945.896, 'duration': 2.142}, {'end': 1956.106, 'text': 'So as the name suggests this command deletes single entries from the reflock history and the fifth command is git reflock exists.', 'start': 1948.318, 'duration': 7.788}], 'summary': 'Commands for git reflock: show logs, expire older entries, delete single entries, and check if entry exists.', 'duration': 28.453, 'max_score': 1927.653, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I1927653.jpg'}], 'start': 1726.386, 'title': 'Integrating git with jenkins and git commands', 'summary': "Covers integrating git with jenkins for code sanity checking and utilizing pre-commit hooks, as well as introducing and explaining the usage of 'git cherry-pick' and 'git reflog' commands, with steps to recover a deleted branch using 'git reflog' and listing subcommands. it emphasizes the importance of these commands in git workflows.", 'chapters': [{'end': 1793.842, 'start': 1726.386, 'title': 'Integrating get with jenkins and code sanity checking', 'summary': 'Explains the steps to integrate git with jenkins and configure a repository for code sanity checking, utilizing pre-commit hooks and scripts to ensure standard go source code formatting.', 'duration': 67.456, 'highlights': ['Pre-commit hooks can be used to run code sanity checking tools right before making commits, ensuring the standard go source code formatting tool is applied to dot go files (quantifiable data: usage of pre-commit hooks).', "Sanity or smoke tests determine the possibility and reasonability to continue testing, providing a crucial understanding of the code's integrity (quantifiable data: importance of sanity testing).", 'The script effectively prevents the commit from being applied to the repository by exiting with a non-zero status if any dot go file needs to be passed through the standard go source code formatting tool (quantifiable data: purpose of the script).']}, {'end': 2000.025, 'start': 1794.494, 'title': 'Git cherry pick and reflog', 'summary': "Introduces 'git cherry-pick' and 'git reflog' commands, explaining their usage and providing steps to recover a deleted branch using 'git reflog', as well as listing some 'git reflog' subcommands. it also highlights the importance of these commands and their usage in git workflows.", 'duration': 205.531, 'highlights': ["The 'git cherry-pick' command is used to introduce specific commits from one branch to another, while also forwarding or backporting commits from a maintenance branch to a development branch.", "The 'git reflog' command tracks every change made to the references in a repository, including the creation, checkout, renaming, and comments made on branches and tags.", "Steps to recover a deleted branch using the 'git reflog' command involve retrieving the history logs, identifying the timestamp of the branch, and using the 'git checkout -B' command to recover the branch.", "Subcommands of 'git reflog' such as 'git reflog help', 'git reflog show', 'git reflog expire', 'git reflog delete', and 'git reflog exists' serve various purposes like opening the manual page, showing reference logs, pruning older entries, deleting single entries, and checking for reflog history entries."]}], 'duration': 273.639, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/8Xo3l1zv41I/pics/8Xo3l1zv41I1726386.jpg', 'highlights': ['Pre-commit hooks ensure standard go source code formatting tool is applied to dot go files', "Sanity tests provide crucial understanding of code's integrity", 'The script prevents the commit from being applied if any dot go file needs formatting', 'Git cherry-pick forwards or backports commits between branches', 'Git reflog tracks every change made to references in a repository', 'Steps to recover a deleted branch using git reflog involve retrieving history logs and using git checkout -B command', 'Subcommands of git reflog serve various purposes like opening the manual page and pruning older entries']}], 'highlights': ['Covers interview questions about git at beginner, intermediate, and advanced levels, providing a comprehensive understanding for viewers.', 'Git is a distributed version control system that does not rely on a central server, allowing developers to clone a repository and have the full project history available locally on their hard drives.', 'The advantages of using a version control system include the flexibility to merge changes, access previous versions easily, and track changes made in the project, providing a snapshot of the complete project at any given time.', 'Explained the differences between git commands like get ref log, get status, get diff, git clone, get remote, and git stash drop, providing clarity on their purposes and functionalities.', 'The forking workflow allows every developer to have their own server-side repository, which is a fundamental difference from other popular git workflows.', 'The master branch is consistently maintained at a production-ready state, ensuring that all changes have been thoroughly tested and approved before release.', 'Pre-commit hooks ensure standard go source code formatting tool is applied to dot go files', 'Git cherry-pick forwards or backports commits between branches']}