{"id":4096,"date":"2018-09-17T08:09:14","date_gmt":"2018-09-17T08:09:14","guid":{"rendered":"https:\/\/www.testingdocs.com\/questions\/?p=4096"},"modified":"2025-06-07T14:30:29","modified_gmt":"2025-06-07T14:30:29","slug":"what-is-source-control","status":"publish","type":"post","link":"https:\/\/www.testingdocs.com\/questions\/what-is-source-control\/","title":{"rendered":"What is Source Control?"},"content":{"rendered":"<h1>What is Source Control?<\/h1>\n<p><strong data-start=\"0\" data-end=\"18\">Source Control<\/strong>, also known as <strong data-start=\"34\" data-end=\"53\">Version Control<\/strong>, is a system used by developers to <strong data-start=\"89\" data-end=\"153\">track, manage, and store changes to code and files over time<\/strong>. It allows multiple developers to <strong data-start=\"188\" data-end=\"224\">collaborate on the same codebase<\/strong>, revert to earlier versions, and manage different versions (branches) of a project.<\/p>\n<p>For example:<\/p>\n<p>Automation engineers use source control to manage and track changes to the automation code. Automation code here refers to automation code like Java automation classes, property files, test reports, 3rd party libraries, etc. There are many source control tools in the market.<\/p>\n<p>Git is one of the most popular source control tools available in the market. Automation engineers should have knowledge of working with this tool.<\/p>\n<h3><\/h3>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-4122\" src=\"https:\/\/www.testingdocs.com\/questions\/wp-content\/uploads\/source-control-using-Git.png\" alt=\"source control using Git\" width=\"1757\" height=\"910\" title=\"\" srcset=\"https:\/\/www.testingdocs.com\/questions\/wp-content\/uploads\/source-control-using-Git.png 1757w, https:\/\/www.testingdocs.com\/questions\/wp-content\/uploads\/source-control-using-Git-300x155.png 300w, https:\/\/www.testingdocs.com\/questions\/wp-content\/uploads\/source-control-using-Git-1024x530.png 1024w, https:\/\/www.testingdocs.com\/questions\/wp-content\/uploads\/source-control-using-Git-768x398.png 768w, https:\/\/www.testingdocs.com\/questions\/wp-content\/uploads\/source-control-using-Git-1536x796.png 1536w\" sizes=\"auto, (max-width: 1757px) 100vw, 1757px\" \/><\/p>\n<h2 data-start=\"315\" data-end=\"353\">Features of Source Control<\/h2>\n<ul data-start=\"354\" data-end=\"771\">\n<li data-start=\"354\" data-end=\"455\">\n<p data-start=\"356\" data-end=\"455\"><strong data-start=\"356\" data-end=\"373\">Track Changes<\/strong>: Every change to the code is recorded with information about who made it and why.<\/p>\n<\/li>\n<li data-start=\"456\" data-end=\"560\">\n<p data-start=\"458\" data-end=\"560\"><strong data-start=\"458\" data-end=\"475\">Collaboration<\/strong>: Multiple people can work on the same project without overwriting each other\u2019s work.<\/p>\n<\/li>\n<li data-start=\"561\" data-end=\"651\">\n<p data-start=\"563\" data-end=\"651\"><strong data-start=\"563\" data-end=\"578\">Revert\/Undo<\/strong>: Developers can roll back to a previous version if something goes wrong.<\/p>\n<\/li>\n<li data-start=\"652\" data-end=\"771\">\n<p data-start=\"654\" data-end=\"771\"><strong data-start=\"654\" data-end=\"679\">Branching and Merging<\/strong>: You can work on different features or bug fixes in separate branches and merge them later.<\/p>\n<\/li>\n<\/ul>\n<h3>Benefits<\/h3>\n<p>A source control tool offers many benefits for Automation. Some of the benefits of using source control for automation are listed below:<\/p>\n<ul>\n<li><strong>Version control<\/strong><\/li>\n<li><strong>Tracking automation code changes <\/strong><\/li>\n<li><strong>Distributed and parallel development<\/strong>\n<ul>\n<li><strong>\u00a0Automation of framework<\/strong><\/li>\n<li>\u00a0<strong>Automation of Test cases<\/strong><\/li>\n<\/ul>\n<\/li>\n<li><strong>Automation code organization<\/strong><\/li>\n<li><strong>Automation code backup(GitHub repository and local repository copies)<\/strong><\/li>\n<li><strong>Pull requests, code merges and code review made simple<\/strong><\/li>\n<\/ul>\n<h2 data-start=\"1026\" data-end=\"1063\">\ud83d\udee0\ufe0f Popular Source Control Tools<\/h2>\n<ul data-start=\"1064\" data-end=\"1341\">\n<li data-start=\"1064\" data-end=\"1128\">\n<p data-start=\"1066\" data-end=\"1128\"><strong data-start=\"1066\" data-end=\"1073\">Git<\/strong> \u2013 Most widely used distributed version control system.<\/p>\n<\/li>\n<li data-start=\"1129\" data-end=\"1220\">\n<p data-start=\"1131\" data-end=\"1220\"><strong data-start=\"1131\" data-end=\"1162\">GitHub \/ GitLab \/ Bitbucket<\/strong> \u2013 Online platforms built around Git to host repositories.<\/p>\n<\/li>\n<li data-start=\"1221\" data-end=\"1281\">\n<p data-start=\"1223\" data-end=\"1281\"><strong data-start=\"1223\" data-end=\"1243\">Subversion (SVN)<\/strong> \u2013 Centralized version control system.<\/p>\n<\/li>\n<li data-start=\"1282\" data-end=\"1341\">\n<p data-start=\"1284\" data-end=\"1341\"><strong data-start=\"1284\" data-end=\"1297\">Mercurial<\/strong> \u2013 Another distributed version control tool.<\/p>\n<\/li>\n<\/ul>\n<p>Git tool allows anyone to get started with the automation code and start working with the automation. Simple fork the automation code and start working on it locally.<\/p>\n<p>Git Tutorial on this website can be found at:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.testingdocs.com\/git-tutorials\/\">https:\/\/www.testingdocs.com\/git-tutorials\/<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>What is Source Control? Source Control, also known as Version Control, is a system used by developers to track, manage, and store changes to code and files over time. It allows multiple developers to collaborate on the same codebase, revert to earlier versions, and manage different versions (branches) of a project. For example: Automation engineers [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4096","post","type-post","status-publish","format-standard","hentry","category-automation","has-post-title","has-post-date","has-post-category","has-post-tag","has-post-comment","has-post-author",""],"_links":{"self":[{"href":"https:\/\/www.testingdocs.com\/questions\/wp-json\/wp\/v2\/posts\/4096","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.testingdocs.com\/questions\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.testingdocs.com\/questions\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.testingdocs.com\/questions\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.testingdocs.com\/questions\/wp-json\/wp\/v2\/comments?post=4096"}],"version-history":[{"count":10,"href":"https:\/\/www.testingdocs.com\/questions\/wp-json\/wp\/v2\/posts\/4096\/revisions"}],"predecessor-version":[{"id":27570,"href":"https:\/\/www.testingdocs.com\/questions\/wp-json\/wp\/v2\/posts\/4096\/revisions\/27570"}],"wp:attachment":[{"href":"https:\/\/www.testingdocs.com\/questions\/wp-json\/wp\/v2\/media?parent=4096"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.testingdocs.com\/questions\/wp-json\/wp\/v2\/categories?post=4096"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.testingdocs.com\/questions\/wp-json\/wp\/v2\/tags?post=4096"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}