Mid DevOps

You can also resolve them in Visual Studio or VS Code, which shows a nice diff view. Example: Two developers edit the UserController.cs file — one renames a method, another changes parameters — a merge conflict occurs that must be resolved manually. 6⃣ What’s the difference between Git and TFVC (Team Foundation Version Control)?

Feature Git TFVC

Type Distributed Centralized

History Full copy on each developer’s

machine

Stored on server

Branching Lightweight and fast Heavier and slower

Offline work Possible Needs connection

Common

use

Modern DevOps projects Legacy TFS

projects

Example:

In Git, you can commit locally even offline on a flight — with TFVC, you’d need server

access.

Git is now the default in Azure DevOps for flexibility and collaboration.

7⃣ How do you manage large binary files in Git (e.g., Git LFS)?

Follow:

Git isn’t great with big files (like images, videos, or large DLLs).

To handle them, we use Git LFS (Large File Storage).

How it works:

  • Stores only pointers in Git.
  • The actual binary files are stored elsewhere.

Setup example:

git lfs install

git lfs track "*.psd"

git add .gitattributes

git commit -m "Track PSD files with LFS"

Example:

A game development team using Unity stores large texture and model files with Git LFS to

keep their repo fast and clean.

8⃣ What are build validation policies?

A build validation policy ensures that every pull request triggers a build pipeline before

merging.

It prevents broken code from entering main.

Setup:

  • In branch policies → “Add build policy.”
  • Link it to your CI pipeline.
  • Choose “Required” to block merges if the build fails.

Example:

When a developer creates a PR for feature/api-endpoint, Azure Pipelines

automatically runs unit tests and builds the app. If tests fail, the PR cannot be merged.

Follow:

This keeps your main branch always stable and deployable.

✅ Pro Tip:

Combine branch policies, code reviews, and build validations — this forms a strong

gatekeeping system that maintains code quality across teams.

Build Pipelines (Azure Pipelines – CI)

1⃣ What is a build pipeline in Azure DevOps?

A build pipeline in Azure DevOps automates how your code is compiled, tested, and

packaged whenever you make changes.

It’s part of Continuous Integration (CI) — where every code check-in triggers an automatic

build to ensure nothing is broken.

Example:

When a developer pushes code to main, Azure Pipelines automatically compiles your .NET

app, runs unit tests, and generates a build artifact (like a .zip or .dll) ready for

deployment.

2⃣ Explain the difference between YAML and Classic pipelines.

Feature YAML Pipeline Classic Pipeline

Defined in .yaml file in repo Azure DevOps GUI (drag & drop)

Version-controlled ✅ Yes ❌ No

Flexibility Very high Limited

Recommended

for

DevOps teams,

automation

Beginners or legacy setups

Follow:

Example:

In YAML, your pipeline might start like:

trigger:

  • main

pool:

vmImage: 'windows-latest'

steps:

  • script: dotnet build

You can review and version this with your code.

Classic pipelines are easier for newcomers but harder to maintain across branches.

3⃣ How do you trigger a build automatically after code check-in?

Add a trigger section in your YAML file, or use the GUI option “Enable continuous

integration.”

Example (YAML):

trigger:

branches:

include:

  • main
  • develop

Every push to main or develop automatically triggers a build.

You can also trigger manually or from a pull request.

4⃣ How do you set up a pipeline for a .NET or .NET Core application?

Follow:

More from Microsoft Azure Tutorial

All questions for this course