Git met Visual Studio en Team Foundation Server Arjen Steinhauer Architect, ilionx Software Solution

Slides:



Advertisements
Similar presentations
Let Use SVN(Subversion) Interaction Lab. Hyo-Geun Ahn
Advertisements

Modern app development Continuous value delivery and rapid response to change.
Visual Studio Online. What it Provides Visual Studio Online, based on the capabilities of Team Foundation Server with additional cloud services, is the.
Sy config. SY Non-Student machines –SYTS Team system –SY01 Sql Server Student machines –SY02 –SY03 –SY04 –SY05 –SY06 –SY07 –SY08.
03 | Application Lifecycle Management Susan Ibach| Technical Evangelist Christopher Harrison | Head Geek.
Grant Holliday Senior Service Engineer Microsoft.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
Source Control with Team Foundation Server Martin Woodward Teamprise.
@martinwoodward
Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
@martinwoodward
BIT 285: ( Web) Application Programming Lecture 07 : Tuesday, January 27, 2015 Git.
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
Source Control Repositories for Team Collaboration: SVN, TFS, Git Svetlin Nakov Telerik Software Academy academy.telerik.com Manager Technical Training.
Application Lifecycle Management and the cloud
Introduction to Version Control
Source Control Repositories for Team Collaboration: SVN, TFS, Git.
With Mercurial and Progress.   Introduction  What is version control ?  Why use version control ?  Centralised vs. Distributed  Why Mercurial ?
April 4, Team Foundation Server Business Analyst Build Server Tech Writer on Mac OS X.NET Developer on Visual Studio Test Team User.
Msdevcon.ru#msdevcon. ОПЫТ ИСПОЛЬЗОВАНИЯ GIT КОМАНДОЙ РАЗРАБОТКИ MSN Евгений Чигиринский Microsoft Corp.
Git – versioning and managing your software L. Grewe.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
GIT An introduction to GIT Source Control. What is GIT (1 of 2) ▪ “Git is a free and open source distributed version control system designed to handle.
Branching. Version Control - Branching A way to write code without affecting the rest of your team Merge branches to integrate your changes.
Source Code Control CSE 3902 Matt Boggus. Source code control options for CSE 3902 Must use source code control that is integrated with Visual Studio.
Version control Using Git Version control, using Git1.
…using Git/Tortoise Git
SWEN 302: AGILE METHODS Roma Klapaukh & Alex Potanin.
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Top Ten Tips for Team Foundation Server Martin Woodward Teamprise.
Refactoring and Synchronization with the StarTeam Plug-in for Eclipse  Jim Wogulis  Principal Architect, Borland Software Corporation.
Visual Studio Online Visual Studio.NET Work BuildTest Deploy Insights Code Visual Studio Online.
Anubha Gupta | Software Engineer Visual Studio Online Microsoft Corp. Visual Studio Enterprise Leveraging modern tools to streamline Build and Release.
Sofia Event Center May 2014 Martin Kulov Git For TFS Developers.
BODY From Source Code Management to Daily Build Soren Klemmensen, Kamil Sacek & Luc van Vugt
Directions EMEA Community for Dynamics NAV partners.
@mariorod1 source control models.
Team Foundation Server 2010 Introductory presentation.
Neil Kidd Developer Tools Technical Specialist Microsoft UK.
Step-by-Step Migration and Adoption Mark Michaelis Architect, Author, and Trainer Eric Lee Microsoft Product Manager Visual Studio 2005 Team Foundation.
To Git or Not to Git for Enterprise Development Benjamin Edward Thomson
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
YOUR LOGO Phase 2 International Providing critical business software solutions at affordable prices.
Introduction to Git - Chirag Dani. Objectives Basics of Git Understanding different “Mindset of Git” Demo - Git with Visual Studio.
NALINI S. NAUTIYAL SYSTEM SOFTWARE DIVISION Subversion.
1 Ivan Marsic Rutgers University LECTURE 2: Software Configuration Management.
BIT 285: ( Web) Application Programming Lecture 07 : Tuesday, January 27, 2015 Git.
Git workflows: using multiple branches for parallel development SE-2800 Dr. Mark L. Hornick 1.
CompSci 230 Software Construction
Source Code Control For CSE 3902 By: Matt Boggus.
CS5220 Advanced Topics in Web Programming Version Control with Git
Source Control Systems
I don’t git it! Source control management deep dive with tfvc and git
LECTURE 2: Software Configuration Management
Version Control.
Version control, using Git
CS5220 Advanced Topics in Web Programming Version Control with Git
Concurrent Version Control
Introduction to Team Foundation Server 2010
Version Control System
Git it Done with Team Foundation Server
Source Code Management
LECTURE 3: Software Configuration Management
TechEd /21/2018 3:13 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
IntelliJ + Visual Studio Team Services Jamie Cool
Git CS Fall 2018.
Hop Aboard the Git Train – Transitioning from TFVC
Using GitHub for Papyrus Models Jessie Jewitt – OAM Technology Consulting/ ARM Inc. January 29th, 2018.
Presentation transcript:

Git met Visual Studio en Team Foundation Server Arjen Steinhauer Architect, ilionx Software Solution

Begrippen VS TFS VSO TFVC Git - Visual Studio - Team Foundation Server - Visual Studio Online - Team Foundation Version Control - Groninger intelligentietest

Agenda Source control: centraal vs. gedistribueerd Achtergrond Hoe werkt Git met VS en TFS/VSO Git vs. TFVC Team Foundation Server

Source control mogelijkheden check out ↓ edit ↓ check in edit ↓ merge ↓ commit Schaalbaar naar zeer grote code-base Autorisatie Monitoring gebruik Grote geïntegreerde code-bases Gedetailleerde audit trail Plus punten Beste voor Off-line wijzigen mogelijk Wijzigen buiten de IDE is mogelijk (VS, Eclipse, …) Middel grote geïntegreerde code- bases Gedetailleerde audit trail 100% off-line Complete repository met historie Simpel branching model Modulaire code-bases Integratie met open- source Gedistribueerde teams Centraal Versie Beheer Gedistribueerd Versie Beheer

Source control mogelijkheden Centraal Versie Beheer Gedistribueerd Versie Beheer Team Foundation Source Control

Waarom de keuze voor Git? Het meest gebruikte gedistribueerd versie beheer is Git – GitHub Git wordt gebruikt voor deployment Git kan op verschillende platvormen worden gebruikt – Gebouwd voor Linux en Mac – Windows kan beter

Git is volledig geïntegreerd in Visual Studio en Team Foundation Server / Visual Studio Online

Branch strategie master feature A 1.0 feature B f. C f. D sprint 2sprint 3 sprint 1

Branch strategie master feature A 1.0 feature B f. C f. D dev/test

Git implementatie Laag tussen TFVC en Git? Git for Windows? Open source library: Nee!

Git in Visual Studio

Git in TFS/VSO

Git vs. TFVC CapabilityTFVCGit AlertsTeam members can receive alerts when check-ins occur. Team members can receive alerts when commits are pushed to the server. AuditabilityBecause your team checks in all their work into a centralized system, you can identify which user checked in a changeset and use compare to see what they changed. Looking at a file, you can annotate it to identify who changed a block of code, and when they did it. You can identify which user pushed a commit to TFS. (Anyone can claim any identity as the author or committer.) You can identify when changes were made what was changed using history, compare, and annotate. (1 v/d 9)

Git vs. TFVC CapabilityTFVCGit BranchingPath-based branches are used mostly as long-standing constructs to isolate risk of change among feature teams and releases. Team members typically set up an additional workspace for each branch they work on. Changes in each branch are independent from each other, so you don’t have to check them in before switching from one branch to another. Merging between sibling branches requires a baseless merging. Branching is lightweight and path independent. Many developers create a branch for each new feature they are coding, sometimes on a daily basis. You can quickly switch from one branch to another to pivot among different variations of your codebase. You can create branches that exist only on your dev machine and share them if and when you’re ready. You must commit, branch, stash, or undo changes before switching branches. Merging is simple and independent of the commit that the branch is based on. (2 v/d 9)

Git vs. TFVC CapabilityTFVCGit Branching (continued…) You can get visualizations of your branch structures and where your changesets have been merged. See Use branches to isolate risk in Team Foundation Version Control. You can compare branches to see which commits exist on which branches. See Use Git branches to switch contexts, suspend work, and isolate risk. BuildsYou can use all TFBuild capabilities to build any combination of content you want within the team project collection. You can use most TFBuild capabilities to build one team project at a time, and one or more repositories at a time. Gated check- in builds aren’t available yet. Symbols can be published, but they are not indexed yet. (3 v/d 9)

Git vs. TFVC CapabilityTFVCGit ChangesTeam members can concurrently change files on their dev machines. You upload (check-in) changesets to the server when you create them. You can upload your changes at any time. However, you might be interrupted by conflicts. You can change the comment of a changeset after you check it in. You can link changesets to work items and associate them with completed builds. Team members can concurrently change files on their dev machines. You create commits on your dev machine independently of contributing them to the team. When you’re ready you must pull the latest commits before you upload (push) yours to the server. When you pull, you might be interrupted by conflicts. You can amend the latest local commit. You cannot change older commits. You can link commits to work items and associate them with completed builds. You can modify and combine local commits from the command prompt. (4 v/d 9)

Git vs. TFVC CapabilityTFVCGit Code reviewsYes; see Day in the life of an ALM Developer: Suspend work, fix a bug, and conduct a code review. For more lightweight discussions, you can also comment on and send about a changeset from the web portal. Yes; see Conduct a pull request. For more lightweight discussions, you can also comment on and send about a commit from the web portal. Conflict resolution You might have to resolve conflicts when you get, check in, merge, or unshelve. You can resolve all types of conflicts in Visual Studio. You might have to resolve conflicts when you pull or merge. You can resolve content conflicts in Visual Studio. Other types of conflicts can be resolved from the command prompt. (5 v/d 9)

Git vs. TFVC CapabilityTFVCGit File storageYou can check in large binary files. You might also want to use NuGet in combination or as an alternative. You can check in small binary files. Avoid checking in large binary files, especially those that you modify often. If possible, use NuGet as an alternative to checking in binary files. File on ServerEach team project contains all files under a single root path (for example: $/FabrikamTFVC). You can apply permissions at the file level. You can lock files. You can browse your files on the web portal and using Source Control Explorer in Visual Studio. Your team project exists on only one server. Each team project can contain one or more Git repositories and each Git repository can contain one or more branches. The most granular permissions you can apply are to a repository or a branch. Files cannot be locked. You can browse your files on the web portal. You can push commits to multiple remote repositories. (6 v/d 9)

Git vs. TFVC CapabilityTFVCGit Files on DEVYou can browse your files using Source Control Explorer in Visual Studio, or using Windows File Explorer or the command prompt. You can browse your files using Windows File Explorer or the command prompt. You cannot yet browse files in Visual Studio. Manage work on your dev machine Pending changes and my work pages. Changes, commits, and branches pages. Suspend your work You can suspend from my work page or shelve your changes. You can create a branch from (from Visual Studio or the command prompt) or stash (from the command prompt) Tag your filesYou can apply labels to a version of one or more files from either Visual Studio or the command prompt. Each file can have label applied to a different version. You can apply tags from the command prompt to individual commits. View tags in the Visual Studio history window. (7 v/d 9)

Git vs. TFVC CapabilityTFVCGit HistoryFile history is not replicated on the client dev machine and so can be viewed only when you’re connected to the server. You can view history in Visual Studio and on the web portal. You can annotate files to see who changed a line, and when they changed it. File history is replicated on the client dev machine and can be viewed even when not connected to the server. You can view history in Visual Studio and on the web portal. You can annotate files to see who changed a line, and when they changed it. Roll back changes You can roll back one or more changesets. You can revert a commit. ScaleYou can work on small or very large scale projects using local workspaces. Supports massive scale (millions of files per branch and large binary files) projects using server workspaces. You can quickly begin small projects. You can scale up to very large projects, but you have to plan ahead to modularize your codebase. You can create multiple repositories in a team project. (8 v/d 9)

Git vs. TFVC CapabilityTFVCGit Quality gatesYou can use CI builds, gated check- in builds and check-in policies. You can use CI builds. Gated check-in builds aren’t available yet. Visual Studio compatibility All versions of Visual Studio.Git is built into with Visual Studio 2015 and Visual Studio You can also use Visual Studio 2012 Update 4 (you must also install Visual Studio Tools for Git). Release Management When using vNext deployment, every release contains the change history (backlog items) Change history (backlog items) in every release is not supported yet. (9 v/d 9)

Adoptie van Git Git is anders dan TFVC – Neem de tijd om te wennen – Neem de tijd om te onderzoeken Migratie van historie is mogelijk: Git-TF – Is het nodig om historie mee te nemen? Let op bij grote source repositories – Verwijder project references over solutions en binaire references  NuGet – Refactor naar componenten MSDN ( Third-party Git tools ( )