History of Git - Remote and Upstream Management
| Version 1 | Current version | |
|---|---|---|
Setup remotes# Check current remotes git remote -v # Add upstream (original repo your fork came from) git remote add upstream https://github.com/ADOdb/ADOdb.git # Add SSH alternative (no password prompts) git remote add upstream git@github.com:ADOdb/ADOdb.git # Change existing remote URL git remote set-url origin git@github.com:lsces/adodb.git # Remove a remote git remote remove upstream Syncing with upstream# Fetch upstream changes (no merge) git fetch upstream # Fetch upstream including tags git fetch upstream --tags # Merge upstream into current branch git merge upstream/master # Or rebase on upstream (cleaner history) git rebase upstream/master Tags# List local tags git tag -l # List tags sorted by version git tag -l | sort -V # Fetch tags from upstream (not fetched by default!) git fetch upstream --tags # Fetch tags from origin git fetch origin --tags # Push single tag to fork git push origin v5.22.11 # Push all tags to fork git push origin --tags # Force push tags (if upstream changed a tag) git fetch upstream --tags --force git push origin --tags --force Check what's different# Commits in upstream not in your fork git log --oneline HEAD..upstream/master # Commits in your fork not in upstream (your changes) git log --oneline upstream/master..HEAD # Files changed between versions git diff v5.22.10..v5.22.11 # Files changed in specific driver git diff v5.22.10..v5.22.11 -- drivers/adodb-firebird.inc.php Keeping fork in sync workflow# 1. Fetch upstream git fetch upstream --tags # 2. Check what's new git log --oneline HEAD..upstream/master # 3. Merge or rebase git merge upstream/master # or git rebase upstream/master # 4. Push to your fork git push origin master git push origin --tags Switch remote from HTTPS to SSH# Check current git remote get-url origin # Switch to SSH (no more password prompts) git remote set-url origin git@github.com:lsces/adodb.git # Verify git remote -v TroubleshootingTags not showing in VSCode/fork:git fetch upstream --tags git push origin --tags"Already up to date" but tags missing: # Tags sync separately from commits! git fetch --tags # fetch from all remotes git push origin --tagsFork behind upstream: git fetch upstream git log --oneline HEAD..upstream/master # see what's missing git merge upstream/master git push origin masterDiverged from upstream (have local changes): # Rebase keeps your changes on top of upstream git rebase upstream/master # Fix any conflicts, then git push origin master --force-with-lease CitationDeveloped with [Claude AI](https://claude.ai) assistance - Anthropic - May 2026 | Setup remotes# Check current remotes git remote -v # Add upstream (original repo your fork came from) git remote add upstream https://github.com/ADOdb/ADOdb.git # Add SSH alternative (no password prompts) git remote add upstream git@github.com:ADOdb/ADOdb.git # Change existing remote URL git remote set-url origin git@github.com:lsces/adodb.git # Remove a remote git remote remove upstream Syncing with upstream# Fetch upstream changes (no merge) git fetch upstream # Fetch upstream including tags git fetch upstream --tags # Merge upstream into current branch git merge upstream/master # Or rebase on upstream (cleaner history) git rebase upstream/master Tags# List local tags git tag -l # List tags sorted by version git tag -l | sort -V # Fetch tags from upstream (not fetched by default!) git fetch upstream --tags # Fetch tags from origin git fetch origin --tags # Push single tag to fork git push origin v5.22.11 # Push all tags to fork git push origin --tags # Force push tags (if upstream changed a tag) git fetch upstream --tags --force git push origin --tags --force Check what's different# Commits in upstream not in your fork git log --oneline HEAD..upstream/master # Commits in your fork not in upstream (your changes) git log --oneline upstream/master..HEAD # Files changed between versions git diff v5.22.10..v5.22.11 # Files changed in specific driver git diff v5.22.10..v5.22.11 -- drivers/adodb-firebird.inc.php Keeping fork in sync workflow# 1. Fetch upstream git fetch upstream --tags # 2. Check what's new git log --oneline HEAD..upstream/master # 3. Merge or rebase git merge upstream/master # or git rebase upstream/master # 4. Push to your fork git push origin master git push origin --tags Switch remote from HTTPS to SSH# Check current git remote get-url origin # Switch to SSH (no more password prompts) git remote set-url origin git@github.com:lsces/adodb.git # Verify git remote -v TroubleshootingTags not showing in VSCode/fork: git fetch upstream --tags git push origin --tags "Already up to date" but tags missing: # Tags sync separately from commits! git fetch --tags # fetch from all remotes git push origin --tags Fork behind upstream: git fetch upstream git log --oneline HEAD..upstream/master # see what's missing git merge upstream/master git push origin master Diverged from upstream (have local changes): # Rebase keeps your changes on top of upstream git rebase upstream/master # Fix any conflicts, then git push origin master --force-with-lease Developed with [Claude AI](https://claude.ai) assistance - Anthropic - May 2026 |
