diff --git a/01-essentials/03-branching-and-merging/README.md b/01-essentials/03-branching-and-merging/README.md index d50aa3f..455deaf 100644 --- a/01-essentials/03-branching-and-merging/README.md +++ b/01-essentials/03-branching-and-merging/README.md @@ -307,44 +307,6 @@ git merge main git pull origin main ``` -## Troubleshooting - -### "I'm on the wrong branch!" - -```pwsh -# Switch to the correct branch -git switch correct-branch - -# Check current branch anytime -git branch -``` - -### "I made commits on the wrong branch!" - -Don't panic! You can move commits to another branch: - -```pwsh -# Create the correct branch from current state -git branch correct-branch - -# Switch to wrong branch and remove the commits -git switch wrong-branch -git reset --hard HEAD~2 # Remove last 2 commits (adjust number) - -# Switch to correct branch - commits are there! -git switch correct-branch -``` - -### "The merge created unexpected results!" - -```pwsh -# Undo the merge -git merge --abort - -# Or if already committed: -git reset --hard HEAD~1 -``` - ### "I want to see what changed in a merge!" ```pwsh @@ -368,13 +330,13 @@ git diff main..feature-branch After completing this module, you understand: -- ✅ Branches create independent lines of development -- ✅ `git switch -c` creates a new branch -- ✅ Changes in one branch don't affect others -- ✅ `git merge` combines branches -- ✅ Merge commits have two parent commits -- ✅ `git log --graph` visualizes branch history -- ✅ Branches are pointers, not copies of files +- Branches create independent lines of development +- `git switch -c` creates a new branch +- Changes in one branch don't affect others +- `git merge` combines branches +- Merge commits have two parent commits +- `git log --graph` visualizes branch history +- Branches are pointers, not copies of files ## Next Steps diff --git a/01-essentials/08-multiplayer/01_FACILITATOR.md b/01-essentials/08-multiplayer/01_FACILITATOR.md index 21233b8..f0433b5 100644 --- a/01-essentials/08-multiplayer/01_FACILITATOR.md +++ b/01-essentials/08-multiplayer/01_FACILITATOR.md @@ -235,5 +235,3 @@ To reuse the repository: - **Keep groups small** (2 people per repository) for more interaction - **Encourage communication** - the exercise works best when people talk - **Let conflicts happen** - they're the best learning opportunity -- **Walk the room** - help students who get stuck -- **Point students to 03_TASKS.md** - Simple explanations of clone, push, pull, and fetch for beginners diff --git a/01-essentials/08-multiplayer/02_AZURE-DEVOPS-SSH-SETUP.md b/01-essentials/08-multiplayer/02_AZURE-DEVOPS-SSH-SETUP.md index 4373939..fccb6ff 100644 --- a/01-essentials/08-multiplayer/02_AZURE-DEVOPS-SSH-SETUP.md +++ b/01-essentials/08-multiplayer/02_AZURE-DEVOPS-SSH-SETUP.md @@ -61,7 +61,7 @@ Enter file in which to save the key (/Users/yourname/.ssh/id_rsa): ### Passphrase (Optional but Recommended) -You'll be prompted to enter a passphrase, just press `Enter` no password is needed: +You'll be prompted to enter a passphrase, just press `Enter` no password is needed (recommended but not needed): ``` Enter passphrase (empty for no passphrase): @@ -72,7 +72,6 @@ Enter same passphrase again: Check that your keys were created: -**Linux/Mac:** **Windows PowerShell:** ```powershell dir $HOME\.ssh\ @@ -164,33 +163,14 @@ git clone git@ssh.dev.azure.com:v3/myorg/git-workshop/great-print-project **How to find your SSH URL:** 1. Navigate to your repository in Azure DevOps + ![Azure DevOps - Repositories](./images/05_repos.png) 2. Click **Clone** in the top-right 3. Select **SSH** from the dropdown 4. Copy the SSH URL -![Azure DevOps - Get SSH Clone URL](./images/azure-devops-clone-ssh.png) +![Azure DevOps - Get SSH Clone URL](./images/06_choose_ssh.png) *Select SSH from the clone dialog to get your repository's SSH URL* -### Convert Existing HTTPS Repository to SSH - -If you already cloned a repository using HTTPS, you can switch it to SSH: - -```bash -cd /path/to/your/repository -git remote set-url origin git@ssh.dev.azure.com:v3/{organization}/{project}/{repository} -``` - -**Verify the change:** -```bash -git remote -v -``` - -You should see SSH URLs: -``` -origin git@ssh.dev.azure.com:v3/myorg/git-workshop/great-print-project (fetch) -origin git@ssh.dev.azure.com:v3/myorg/git-workshop/great-print-project (push) -``` - ### Daily Git Operations All standard Git commands now work seamlessly with SSH: @@ -214,7 +194,6 @@ git push -u origin feature-branch --- ## Additional Resources - - **Azure DevOps SSH Documentation**: [https://docs.microsoft.com/en-us/azure/devops/repos/git/use-ssh-keys-to-authenticate](https://docs.microsoft.com/en-us/azure/devops/repos/git/use-ssh-keys-to-authenticate) - **SSH Key Best Practices**: [https://security.stackexchange.com/questions/tagged/ssh-keys](https://security.stackexchange.com/questions/tagged/ssh-keys) - **Git with SSH**: [https://git-scm.com/book/en/v2/Git-on-the-Server-Generating-Your-SSH-Public-Key](https://git-scm.com/book/en/v2/Git-on-the-Server-Generating-Your-SSH-Public-Key) @@ -235,15 +214,9 @@ cat ~/.ssh/id_rsa.pub # Display public key (Windows) type $HOME\.ssh\id_rsa.pub -# Test SSH connection -ssh -T git@ssh.dev.azure.com - # Clone with SSH git clone git@ssh.dev.azure.com:v3/{org}/{project}/{repo} -# Convert HTTPS to SSH -git remote set-url origin git@ssh.dev.azure.com:v3/{org}/{project}/{repo} - # Check remote URL git remote -v ``` @@ -256,7 +229,7 @@ git@ssh.dev.azure.com:v3/{organization}/{project}/{repository} **Example:** ``` -git@ssh.dev.azure.com:v3/mycompany/git-workshop/great-print-project +git@ssh.dev.azure.com:v3/novenco/software/git-workshop ``` --- diff --git a/01-essentials/08-multiplayer/images/05_repos.png b/01-essentials/08-multiplayer/images/05_repos.png new file mode 100644 index 0000000..04c53d2 Binary files /dev/null and b/01-essentials/08-multiplayer/images/05_repos.png differ diff --git a/01-essentials/08-multiplayer/images/06_choose_ssh.png b/01-essentials/08-multiplayer/images/06_choose_ssh.png new file mode 100644 index 0000000..4e89c71 Binary files /dev/null and b/01-essentials/08-multiplayer/images/06_choose_ssh.png differ