# Git ### Pronouns - us: changes on the branch I am rebasing onto (eg. the master), usually "the good official one" - they: changes of the branch I am rebasing (eg. feature branch) ### Search keyword ```git log -S ``` ### Fetch and remove deleted branches ```git fetch --prune``` ### Worktree ``` git worktree add git worktree remove [--force] ``` Use force if you have initialized submodules in the worktree. ### Rebase multiple divergent branches ```git rebase --interactive --onto ``` ### What commit added a certain file? ```git log --diff-filter=A -- path/file``` ### Changes of a certain file ```git diff -- path/file``` ### Git pull strategy ``` hint: Pulling without specifying how to reconcile divergent branches is hint: discouraged. You can squelch this message by running one of the following hint: commands sometime before your next pull: hint: hint: git config pull.rebase false # merge (the default strategy) hint: git config pull.rebase true # rebase hint: git config pull.ff only # fast-forward only hint: hint: You can replace "git config" with "git config --global" to set a default hint: preference for all repositories. You can also pass --rebase, --no-rebase, hint: or --ff-only on the command line to override the configured default per hint: invocation. ```