Version Control Systems

Slides:



Advertisements
Similar presentations
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
Advertisements

Getting Started with GIT. Basic Navigation cd means change directory cd.. moves you up a level cd dir_name moves you to the folder named dir_name A dot.
Source Control Repositories for Team Collaboration: SVN, TFS, Git Svetlin Nakov Telerik Software Academy academy.telerik.com Manager Technical Training.
Source Control Repositories for Team Collaboration: SVN, TFS, Git.
Source Control Systems SVN, Git, GitHub SoftUni Team Technical Trainers Software University
Software Testing Lifecycle Exit Criteria Evaluation, Continuous Integration Ivan Yonkov Technical Trainer Software University.
Teamwork and Personal Skills Course Introduction Software University SoftUni Team Technical Trainers.
Version Control Systems academy.zariba.com 1. Lecture Content 1.What is Software Configuration Management? 2.Version Control Systems (VCS) 3.Basic Git.
Build Processes and Continuous Integration Automating Build Processes Software University Technical Trainers SoftUni Team.
Test-Driven Development Learn the "Test First" Approach to Coding SoftUni Team Technical Trainers Software University
1 GIT NOUN \’GIT\ A DISTRIBUTED REVISION CONTROL AND SOURCE CODE MANAGEMENT (SCM) SYSTEM WITH AN EMPHASIS ON SPEED. INITIALLY DESIGNED AND DEVELOPED BY.
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
Mocking with Moq Tools for Easier Unit Testing SoftUni Team Technical Trainers Software University
Introduction to Git - Chirag Dani. Objectives Basics of Git Understanding different “Mindset of Git” Demo - Git with Visual Studio.
Programming Fundamentals Course Introduction SoftUni Team Technical Trainers Software University
Inheritance Class Hierarchies SoftUni Team Technical Trainers Software University
Stacks and Queues Processing Sequences of Elements SoftUni Team Technical Trainers Software University
Programming Fundamentals (Extended)
Auto Mapping Objects SoftUni Team Database Applications
Databases basics Course Introduction SoftUni Team Databases basics
Source Control Systems
C# Basic Syntax, Visual Studio, Console Input / Output
Interface Segregation / Dependency Inversion
Data Structures Course Overview SoftUni Team Data Structures
Introduction to MVC SoftUni Team Introduction to MVC
Deploying Web Application
Setup a PHP + MySQL Development Environment
WordPress Introduction
PHP MVC Frameworks Course Introduction SoftUni Team Technical Trainers
PHP Fundamentals Course Introduction SoftUni Team Technical Trainers
Reflection SoftUni Team Technical Trainers Java OOP Advanced
Source Control Systems
Mocking tools for easier unit testing
State Management Cookies, Sessions SoftUni Team State Management
EF Code First (Advanced)
PHP MVC Frameworks MVC Fundamentals SoftUni Team Technical Trainers
C# Databases Advanced with Microsoft SQL Server
Entity Framework: Code First
Databases advanced Course Introduction SoftUni Team Databases advanced
Install and configure theme
Balancing Binary Search Trees, Rotations
Debugging and Troubleshooting Code
Entity Framework: Relations
Fast String Manipulation
Array and List Algorithms
Functional Programming
The Right Way Control Flow
ASP.NET MVC Introduction
C# Advanced Course Introduction SoftUni Team C# Technical Trainers
Databases Advanced Course Introduction SoftUni Team Databases Advanced
Best Practices and Architecture
C# Web Development Basics
Best practices and architecture
Web Fundamentals (HTML and CSS)
Data Definition and Data Types
Multidimensional Arrays, Sets, Dictionaries
Extending functionality using Collections
Functional Programming
C# Advanced Course Introduction SoftUni Team C# Technical Trainers
Course Overview, Trainers, Evaluation
Introduction to TypeScript & Angular
CSS Transitions and Animations
Train the Trainers Course
Version Control Systems
JavaScript Frameworks & AngularJS
Lean .NET stack for building modern web apps
CSS Transitions and Animations
Git CS Fall 2018.
Git GitHub.
Presentation transcript:

Version Control Systems Git and GitHub SoftUni Team Technical Trainers Software University http://softuni.bg

Table of Contents Software Configuration Management (SCM) Git GitHub

Have a Question? sli.do #fund-softuni

Software Configuration Management

Software Configuration Management (SCM) * Software Configuration Management (SCM) 07/16/96 Version Control ≈ Software Configuration Management (SCM) A software engineering discipline Consists of techniques, practices and tools for working on shared source code and files Mechanisms for management, control and tracking the changes Defines the process of change management Keeps track of what is happening in the project over the time Solves conflicts in the changes *

SCM and the Software Development Lifecycle * SCM and the Software Development Lifecycle 07/16/96 Release The Final Product Analysis Testing Text Scripts and Data Requirements SCM Build Scripts, Final Product Models Build Design Source Code Implementation *

Change Log Systems for version control keep a complete change log (history) Who? Why? When?

Change Log (2) Old versions are saved in the change log Can be retrieved, examined and even reverted Revert Good version Bad version © Software University Foundation – http://softuni.org This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike license.

Vocabulary: Repository Remote Local

Vocabulary: Clone Clone Remote Local

Vocabulary: Commit Commit

Vocabulary: Sync Fetch Upload Conflict

Vocabulary: Branch master master custom-branch © Software University Foundation – http://softuni.org This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike license.

Vocabulary: Merge branches Conflict master master custom-branch

Еxample: Branches © Software University Foundation – http://softuni.org This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike license.

Git

What is Git? Distributed source-control system Work with local and remote repositories Git bash – command line interface for Git Free, open-source Has Windows version (msysGit) http://msysgit.github.io https://www.atlassian.com/git/tutorials/setting-up-a-repository

Using Git Runs on Linux, Windows, Mac OS Console client GitBash GUI client – TortoiseGit https://tortoisegit.org/download/ Visual Studio / Eclipse plug-ins

How It Works? Pull git add Modified Staged Commited

How It Works? Push git commit Modified Staged Commited

Installing Git msysGit Installation on Windows Download Git for Windows from: http://msysgit.github.io “Next, Next, Next” does the trick Options to select (they should be selected by default) “Use Git Bash only” “Checkout Windows-style, commit Unix-style endings” Git installation on Linux: sudo apt-get install git

Basic Git Commands Cloning an existing Git repository Fetch and merge the latest changes from the remote repository Preparing (adding / selecting) files for a commit Committing to the local repository git clone [remote url] git pull git add [filename] ("git add ." adds everything) git commit –m "[your message here]"

Basic Git Commands (2) Check the status of your local repository (see the local changes) Creating a new local repository (in the current directory) Creating a remote (assign a short name for remote Git URL) Pushing to a remote (send changes to the remote repository) git status git init git remote add [remote name] [remote url] git push [remote name] [local name]

Using GitBash: Example mkdir work cd work git clone https://github.com/SoftUni/test.git dir cd test git status (edit some file) git add . git commit -m "changes" git push

Using TortoiseGit: Example

The Social Network for Developers GitHub The Social Network for Developers © Software University Foundation – http://softuni.org This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike license.

What is GitHub? GitHub is the world's #1 source code hosting site Free for open-source projects Paid plans for private projects

Exercise: Create Your Own Profile at GitHub

Live Exercises in Class (Lab) GitHub Live Exercises in Class (Lab)

Summary Use version control systems to work in a team or for big projects. We can revert to previous version (state) of our project. There are several commands for manipulating the version control system GitHub is the most popular hosting platform

Version Control Systems https://softuni.bg/courses/programming-fundamentals/ © Software University Foundation – http://softuni.org This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike license.

License This course (slides, examples, demos, videos, homework, etc.) is licensed under the "Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International" license Attribution: this work may contain portions from "Fundamentals of Computer Programming with C#" book by Svetlin Nakov & Co. under CC-BY-SA license © Software University Foundation – http://softuni.org This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike license.

Free Trainings @ Software University Software University Foundation – softuni.org Software University – High-Quality Education, Profession and Job for Software Developers softuni.bg Software University @ Facebook facebook.com/SoftwareUniversity Software University @ YouTube youtube.com/SoftwareUniversity Software University Forums – forum.softuni.bg © Software University Foundation – http://softuni.org This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike license.