Design and implement source control Flashcards
What percent of the total exam questions are dedicated to this subject?
15% to 20%
What is Azure DevOps Server?
Previously known as Team Foundation Server (TFS), Azure DevOps Server is a set of collaborative software development tools, hosted on-premises. Azure DevOps Server integrates with your existing IDE or editor, enabling your cross-functional team to work effectively on projects of all sizes.
Team Foundation Version Control (TFVC)?
TFVC is Azures answer to providing centralised version control as a service.
What are the key features of Git?
What are the pros and cons of choosing one large repo to store code (a monorepo) and separating code in to various smaller yet depend repos?
What are the pros and cons of using Personal Access Tokens Vs. SSH authentiction?
How should the existence of large files influence your version control strategy?
Large files are generally not text, meaning they are not diffable and a minor change to one will require that the whole file is updated in git every time (no such thing as change delta with large, binary files).
Consider using Git LFS (large file system) when you’re dealing with more than a handfull of large files under version control. It creates a virtual filesystem and helps to avoid unecessarily version control syncronisation actions.
What is the difference between Git submodules and Azure Artifacts?
Git submodules are placeholders placed in a directory under version control which on certain git operations will clone other git repositories in its place. This is a way to enable a multiple repository approach while working in a way approximating how you would work with a monorepo.
Azure artifacts is an Azure package server service, so builds can be pushed to it and pulled from it as part of build and install scripts respectively.
What are GitHooks?
GitHooks are a client side event system (though technically there are server side hooks we’re only ever really using the client side hooks) which trigger an action given a specific event.
What are the classic branch strategies used when working on a code base?
What policies can be set to manage the pull request process?
How can the merging or pull requests be configured to enable/ disable certain actions on certain branches?
Branch policies:
How can Azure pipelines be use if the code base is on Github?
How can permission be granted to a user to access a repository (either in the native Azure repos or in a linked Github repository)?
What is function of git tags (either in Azure Repos or Github?)
Tags are generally used to link a git commit to something else like a work item or a release however they can also be used to trigger an event.