Version Control Systems Using Git

version control system using git n.w
1 / 35
Embed
Share

Explore the importance of version control systems like Git, learn the basics of version control, its benefits for individuals and teams, and the types of version control systems. Presented by Rohit Das and Rudra Nil Basu.

  • Version Control
  • Git Basics
  • Team Collaboration
  • Software Development

Uploaded on | 1 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Version Control System using Git

  2. Presented by: Rohit Das 3000114022 rohit.das950@gmail.com Rudra Nil Basu 30000114023 rudra.nil.basu.1996@gmail.com

  3. 1. The Problem Why do we need Version Control System anyway?

  4. Difficult to roll back - Almost impossible to maintain if the number of people working in the project is large - - Maintaining group Projects Patches are mostly sent via email - - Testing new unstable features

  5. 2. Version Control System

  6. Version Control: What is it? A method for recalling versions of a codebase Keeping a record of changes Who did what and when in the system Save yourself when things inevitably go wrong

  7. Version Control: Why? Individual Back-ups of the project Create a checkpoint in the project at any stage: Fearlessly modify code Tagging: Mark certain point in time Branching: Release versions and continue development

  8. Version Control: Why? Team Everything in Individual Allow multiple developer to work on the same codebase Merge changes across same files: handle conflicts Check who made which change: blame/praise

  9. Version Control: Types Centralised VCS Distributed VCS

  10. A (repository) Check-outs and check-ins are done with reference to this central repository single authoritative data source Centralised VCS

  11. Centralised VCS

  12. Examples: Centralised VCS Concurrent Version System (CVS) Subversion (SVN)

  13. No single repository is authoritative Data can be checked in and out from any repository Distributed VCS

  14. Distributed VCS

  15. Examples Distributed VCS Git Mercurial

  16. 3. Git --everything-is-local

  17. Free, open source Fully distributed Handle small files very effectively Tracks contents, not files Data = Snapshot No network Three stages

  18. Created by Linus Torvalds in less than 2 weeks Currently maintained by Junio C Hamano

  19. Three stages: Git: Stages Working directory Staging directory Git directory (repository)

  20. Setup Git: Development git init git clone <remote-url>

  21. Check snapshots of the codebase Git: Development git log Show commit logs

  22. Commit logs Git: Development

  23. Branches git checkout b <branch-name> Git: Development

  24. View changes Git: Development git diff

  25. View changes Git: Development

  26. Update staging area Git: Development git add <files> Add file contents to the index

  27. Create snapshots of your codebase Git: Development git commit Records changes to the repository

  28. Merge other branches Git: Development git merge

  29. Git: Development

  30. Make patches git format-patch --stdout > fix.patch Git: Development Patch created as fix.patch Prepare patches for email submission Send patch via mail

  31. Make patches Git: Development

  32. Applying patches Git: Development git apply < fix.patch Applies changes from the patch

  33. Much efficient workflow Creating and merging branches are very easy and fast Result?

  34. The development process of the Linux kernel is maintained using Git Result? The Linux kernel development process has: Over 2000 individual contributors per year Grows by nearly 300,000 lines per year

  35. THANK YOU! Rudra Nil Basu rudra.nil.basu.1996@gmail.com rudranilbasu.me Rohit Das rohit.das950@gmail.com mouri11.github.io

More Related Content