refactor-reset-revert #3

Merged
floppydiscen merged 2 commits from refactor-reset-revert into main 2026-01-16 09:19:42 +00:00
5 changed files with 11 additions and 78 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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
```
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB