title: Git branches
category: Git
layout: 2017/sheet
-updated: 2017-09-20
+updated: 2020-02-13
---
## Working with branches
git branch -D $branchname
```
-Delete a branch irrespective of its merged status.
+```bash
+git branch -d $branchname
+```
+
+> Note: You can also use the -D flag which is synonymous with --delete --force instead of -d. This will delete the branch regardless of its merge status.
+> Delete a branch irrespective of its merged status.
### Delete remote branch
```bash
-git push origin :$branchname
+git push origin --delete :$branchname
```
Works for tags, too!
```bash
git reset --hard $commit_id
-# Now push to your branch
+# Now push safely to your branch
+git push --force-with-lease
+
+# Or push brutally to your branch
git push --force
```