This is a series of articles related to Source Control or Version Control issues, from a stand-alone app, such as MS SourceSafe, to a Server app, such as MS TFS (Team Foundation Server), to web services such as GitHub, AWS, and MS Azure DevOps. We tried to categorize this series of articles as Source Control or Version Control, but this site does not have these categories, so we put the articles in the DevOps category, as explained in the wiki:
DevOps is a set of practices that combines software development (Dev) and IT operations (Ops). It aims to shorten the systems development life cycle and provide continuous delivery with high software quality.[1] DevOps is complementary with Agile software development; several DevOps aspects came from the Agile methodology.
The structure of this article series will cover,
- Stand Alone App:
- Server App
- MS TFS (Team Foundation Server)
- Online (Cloud) Centralized Service:
- MS Azure: DevOps
- Boards
- Repos
- Pipelines
- Test Plans
- Artifacts
- GitHub
- AWS GitHub Enterprise
- Distributed App:
Because these are huge topics, I will not go step by step, instead, each section will be relatively independent to become a reading unit.
- Source Control (1), MS Source Safe --- Stand Alone App
- Source Control (2), MS TFS --- Centralized Server App --- this article
- Source Control (3), MS Azure DevOps (GitHub, Jira) --- Centralized Service
- Source Control (4), Git --- Distributed App
- Source Control (4-1), Git --- Configuration
- Source Control (4-2), Git --- Configured to Connect to DevOps and GitHub
- Source Control (4-3), Git --- Cherry Pick in Visual Studio
- Source Control (4-4), Git --- Recover Git Tree: Reflog/Reset
- Source Control (4-5), Git --- Recover Deleted Branch
- Source Control (4-6), Git --- Revert
- Source Control (4-7), Git --- Get Specific Version or Commit
- Source Control (4-8), Git --- Get Specific Version or Commit in practice
- Source Control (4-9), Git --- Merge: Fetch, Pull, Push and Sync
- Source Control (5), GitHub access (setup connection)
- Source Control (6), DevOps access (setup connection)
- Source Control (7), GitLab access (setup connection and Clone to Local)
- Source Control (8), Git, Azure Repos, and Visual Studio (Interaction)
- Source Control (9), Push into Git Hub and DevOps
- Source Control (10), Git Hub, DevOps Publish
Introduction
On September 10, 2018 Microsoft renamed VSTS to Azure DevOps and by Q1 2019 will rename TFS to Azure DevOps Server, and upgrade both with the same new user interface.
Azure DevOps (VSTS) is a hosted cloud offering, and Azure DevOps Server (TFS), is an on-premises version. Both offer functionality that cover multiple stages of the DevOps lifecycle including planning tools, source code management (SCM), and CI/CD.
As part of their SCM functionality, both platforms offer two methods of version control.
-
Git (distributed) - each developer has a copy on their dev machine of the source repository including all branch and history information.
-
Team Foundation Version Control (TFVC), a centralized, client-server system - developers have only one version of each file on their dev machines. Historical data is maintained only on the server.
Microsoft recommends customers use Git for version control unless there is a specific need for centralized version control features. https://docs.microsoft.com/en-us/vsts/tfvc/comparison-git-tfvc
This is noteworthy given that in June of 2018 Microsoft purchased GitHub, the Internets largest online code repository. This deal closed on Oct 26th, 2018.
--- the paragraph above is from Azure DevOps (TFS/VSTS) vs. GitLab, as an introduction.
This is the structure of this article,
- Introduction
- TFS
- Visual Studio - TFS
- TFSC Environment Setup
- Connect to TFS Server
- Connect to Team Projects
- Setting Local Path
- TFSC Overview
- Key Concepts
- Changesets
- Integrated Check-in
- Check-in Policies
- Workspaces
- Shelving
- Other Concepts
TFS
Visual Studio - TFSC Provider
TFSC Environment Setup
TFSC Overview
TFSC Major Feature
Reference