In this step we will clone or fork the sample system repositories from GitHub LazyMagicPets. Both approaches allow you to make changes to the system and deploy the system.
Cloning allows you to make local changes to the system without committing any code to GitHub.
Forking allows you to create repositories in your own GitHub account to track and share changes with your team.
Clone the system repositories allow you to make local changes and deploy they system.
Use the following steps to create the development folder and clone the repositories. Please use the suggested folder hierarchy to avoid configuration issues.
Replacing username, navigate to the C:\users\username\Source\Repos
folder.
Note: The Source\Repos
folder is created by the Visual Studio IDE install. Create these folders if you have not installed Visual Studio IDE.
mkdir _Dev
mkdir _Dev/MagicPets
cd _Dev/MagicPets
git clone https://github.com/LazyMagicPets/MagicPetsService.git Service
git clone https://github.com/LazyMagicPets/MagicPetsAdminApp.git AdminApp
git clone https://github.com/LazyMagicPets/MagicPetsStoreApp.git StoreApp
git clone https://github.com/LazyMagicPets/MagicPetsConsumerApp.git ConsumerApp
git clone https://github.com/LazyMagicPets/MagicPetsTenancies.git Tenancies
For the system repositories to collaborate with other team members on changes to the system using your GitHub account.
Sign into your GitHub Organization account and fork these repositories to your GitHub Organization.
Replacing username, navigate to the C:\users\username\Source\Repos
folder.
Replacing MyGitHubOrg, run these commands.
mkdir _Dev
mkdir _Dev/MagicPets
cd _Dev/MaticPets
git clone https://github.com/MyGitHubOrg/MagicPetsService.git Service
git clone https://github.com/MyGitHubOrg/MagicPetsAdminApp.git AdminApp
git clone https://github.com/MyGitHubOrg/MagicPetsStoreApp.git StoreApp
git clone https://github.com/MyGitHubOrg/MagicPetsConsumerApp.git ConsumerApp
git clone https://github.com/MyGitHubOrg/MagicPetsTenancies.git Tenancies
You may be wondering why our repository names are not the same as the folders we clone the repositories into. We do this so that nuget configuration files, deployment scripts, and utility scripts, which may reference the more generic folder name, can be copied and used across systems without modification.