version-control
Version control practices and tools
Learn to untrack already committed files with git rm --cached, apply .gitignore to build artifacts like node_modules or venv, and remove them from Git history using filter-branch. Step-by-step guide for clean repos.
View only files changed in the last Git commit without diffs using git show --name-only or git diff --name-only HEAD~1 HEAD. Perfect for git show files, git diff files, git list files in scripts or quick audits—no patch details shown.
Learn how to git clone a specific tag using --branch without the 'Remote branch not found' warning. Verify tags with git ls-remote, use shallow git clone depth 1, and avoid pitfalls like --single-branch for seamless GitHub repo cloning.
Learn how to recover a deleted Git branch using git reflog after git branch -D. Step-by-step guide to restore deleted git branch, commits via reflog, fsck, deletion message, and remote recovery tips.
Learn how to find when lines were deleted in Git history using git blame alternatives like git log -S and reverse git blame techniques.
Learn how to stage deleted files in Git when using rm instead of git rm. Discover commands like git rm --cached, git add -u, and git add -A to properly stage file deletions.
Is committing .gitignore a best practice? Explore benefits like tracking ignore pattern changes over time, team consistency, clean repos, CI/CD support, plus drawbacks and fixes like local excludes for optimal Git workflows.
Learn how to resolve Git 'would clobber existing tag' error when pulling tags. Discover safe solutions beyond force-pulling or recloning your repository.
Learn how to safely move uncommitted changes to another Git branch using git stash, git switch -c, or git checkout -b. Avoid losing work when switching branches with conflicts—step-by-step guide with examples.
Create a Git commit with a separate title and body from the CLI. Use multiple -m flags, -F file input, or commit templates for consistent commit messages.
Resolve 'fatal: remote origin already exists' Git error when adding origin to GitHub repo. Check remotes with git remote -v, remove or set-url origin for Rails tutorials and pushes. Step-by-step fixes.
Learn how to completely remove Git commit history in GitHub while preserving your current code state. Step-by-step guides using orphan branches, git filter-branch, and repository re-initialization.
Learn how to create a branch in SVN (Subversion) using the svn copy command. Follow step-by-step process, standard repository structure, merging tips, and best practices for effective branch management in Subversion.
Understand the key differences in Git between HEAD (pointer to current commit), working tree (editable files on disk), and index/staging area (snapshot for next commit). Learn workflow, commands like git status, git add, and common confusions like detached HEAD.
Fix 'fatal: destination path "." already exists and is not an empty directory' Git clone error in current directory. Check hidden files with ls -a, use git init + remote add + fetch, or temp clone workaround for success.
Learn how to update your TortoiseSVN client's server IP address using Relocate or `svn switch --relocate`. Fix SVN IP connection issues and troubleshoot server changes.
Learn why GitHub shows older 'last updated' dates for folders despite recent file changes. Discover reliable methods to check if a GitHub project is actively maintained.
Learn to view Git stash contents without applying using git stash list for inventory, git stash show for summaries, and git stash show -p for full diffs. Safe inspection of changes, untracked files, and advanced tips for Git workflows.
Learn to use git add -p for partial commits in Git. Stage only specific lines like 15 out of 30 changes, verify with git diff --staged, and commit cleanly. Perfect for atomic git commits and better code reviews.
Learn how to view complete Git file history including content changes using git log -p -- file, git show for specific commits, and git diff tools. See exact diffs, patches, and file snapshots in each commit.