diff --git a/README.md b/README.md index b31ed0a..1233207 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ pairing with smart people at Hashrocket. For a steady stream of TILs, [sign up for my newsletter](https://crafty-builder-6996.ck.page/e169c61186). -_1228 TILs and counting..._ +_1229 TILs and counting..._ --- @@ -293,6 +293,7 @@ _1228 TILs and counting..._ - [Resolve A Merge Conflict From Stash Pop](git/resolve-a-merge-conflict-from-stash-pop.md) - [Run A Git Command From Outside The Repo](git/run-a-git-command-from-outside-the-repo.md) - [Set A Custom Pager For A Specific Command](git/set-a-custom-pager-for-a-specific-command.md) +- [Shorthand To Force Push A Branch](git/shorthand-to-force-push-a-branch.md) - [Show All Commits For A File Beyond Renaming](git/show-all-commits-for-a-file-beyond-renaming.md) - [Show Changes For Files That Match A Pattern](git/show-changes-for-files-that-match-a-pattern.md) - [Show Changes In The Compose Commit Message View](git/show-changes-in-the-compose-commit-message-view.md) diff --git a/git/shorthand-to-force-push-a-branch.md b/git/shorthand-to-force-push-a-branch.md new file mode 100644 index 0000000..71b44c6 --- /dev/null +++ b/git/shorthand-to-force-push-a-branch.md @@ -0,0 +1,27 @@ +# Shorthand To Force Push A Branch + +If your local version of a branch differs in its history from the matching +remote branch, then git will prevent you from pushing. You can override the +difference on the remote by force pushing. One way of doing that is with the +`--force` flag. + +```bash +$ git push --force origin main +``` + +There is a shorthand for this. [Prefix the branch name with a +`+`](https://git-scm.com/docs/git-push#Documentation/git-push.txt---force). + +```bash +$ git push origin +main +``` + +When working in a team context, it is typically a safer bet to use +`--force-with-lease` instead of force. That way if the remote contains new +changes that you haven't pulled down yet, you will prevent yourself from +accidentally overriding them. + +If you feel you must use `--force`, double check what will happen. Avoid +accidentally clobbering work that could be hard or impossible to recover. + +[source](https://twitter.com/jbrancha/status/1558861987374780416?s=20&t=D7T_aTBaF97AwOvUnz9Muw)