0% found this document useful (0 votes)
24 views11 pages

Lecture6 - Software-Construction-BSSE5

software construction object and communication diagram

Uploaded by

hira bukhari
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views11 pages

Lecture6 - Software-Construction-BSSE5

software construction object and communication diagram

Uploaded by

hira bukhari
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 11

Software Construction

(Lecture 6)
Version control system and backup management
What is version control?
• Version control systems VCS, also known as source control, is the
practice of tracking and managing changes to software code
• VCS are sometimes known as SCM (Source Code Management) tools or
RCS (Revision Control System)
• Software tools that help software teams manage changes to source
code over time
• Help software teams work faster and smarter
• Keeps track of every modification to the code in a special kind of
database
• Git is a Distributed VCS, a category known as DVCS
Benefits of version control systems
• Helps developers move faster
• Allows software teams to preserve efficiency and agility
• A complete long-term change history of every file
• Branching and merging
• Traceability
Source code management SCM
• Used to track modifications to a source code repository
• Helps to resolve conflicts when merging updates from multiple
contributors
• To prevent loss of work due to conflict overwriting
• Tracks an entire history of changes to the code base
• Allows developers to examine and review edits
Benefits of source code
management
• Makes collaborative code development a more user friendly
experience
• Tracks all the changes to a project over time
• Offers insight and transparency into the progress of a project
• Reduces a communication overhead and increase release velocity
SCM best practices
• Commit often
• Each commit is a snapshot that the codebase can be reverted to if needed
• A group of commits can be combined into a single commit
• Ensure you're working from latest version
• Make sure to fetch the latest code before making updates
• Avoiding conflicts at merge time
• Make detailed notes
• It is important to leave descriptive explanatory commit log messages
• Explains the “why” and “what” that encompass the commits content
• Leave a trail for future contributors to review
SCM best practices
• Review changes before committing: Offers a ‘staging area’
• Use Branches
• Mechanism that allows developers to create a separate line of development
• Enable multiple developers to work in parallel on separate lines of
development
• At the end merged into the master line of development
• Agree on a Workflow
• Free form methods of contribution
• Important that teams establish shared patterns of collaboration
What is Git?
• Widely used open source version control system
• It is a Distributed Version Control System
• Git has been designed with:
• Performance
• Security
• Flexibility
• Version control
Why Git for your organization?
Git for developers
• Feature Branch Workflow
• Distributed Development
• Pull Requests
• Community
• Faster Release Cycle
Git Basics

https://www.atlassian.com/git/tutorials/atlassian-git-cheatsheet

You might also like