Turn some existing git snippets into stories

This commit is contained in:
Angelos Chalaris
2023-05-21 16:56:48 +03:00
parent 2f33473c54
commit af67750a5f
2 changed files with 21 additions and 24 deletions

View File

@ -1,23 +1,20 @@
--- ---
title: Automate upstream branch creation title: "Tip: Automate upstream branch creation"
type: snippet shortTitle: Automate upstream branch creation
type: tip
language: git language: git
tags: [configuration,repository] tags: [configuration,repository]
author: chalarangelo author: chalarangelo
cover: messy-computer cover: messy-computer
dateModified: 2022-10-19T05:00:00-04:00 excerpt: Effortlessly create upstream branches on push by enabling a simple git config setting.
dateModified: 2023-05-21T05:00:00-04:00
--- ---
Configures the repository to automatically create upstream branches on push. Manually creating upstream branches on push can be a tedious task. Luckily, Git provides a way to automate this process. You can use `git config` to enable automatic upstream branch creation on push:
- Use `git config --add --bool` to enable automatic upstream branch creation on push.
- You can use the `--global` flag to enable this setting globally.
```shell ```shell
git config [--global] --add --bool git config [--global] --add --bool push.autoSetupRemote true
```
```shell
git config --global --add --bool
# `git push` will automatically create new branches, if they don't exist # `git push` will automatically create new branches, if they don't exist
``` ```
Using `push.autoSetupRemote` will automatically create a new branch on the remote repository, if it doesn't exist. Workflows that benefit most from this setup are ones where local branches are expected to have the same name as their remote counterparts. You can use the `--global` flag to enable this setting globally on your machine.

View File

@ -1,30 +1,30 @@
--- ---
title: View "undo" history title: View "undo" history
type: snippet type: story
language: git language: git
tags: [repository,branch] tags: [repository,branch]
author: chalarangelo
cover: rock-climbing cover: rock-climbing
dateModified: 2021-04-13T21:10:59+03:00 excerpt: Learn how to view your "undo" history using git reflog and reset your repository to a previous state.
dateModified: 2023-05-21T21:10:59+03:00
--- ---
View git's reference logs. This is especially useful for finding references that don't show up in commit history. Sometimes, `git log` doesn't cut it, especially for commands that don't show up in your commit history. Fortunately, there's a way to view your "undo" history. `reflog` is basically your safety net after running "scary" commands like `git rebase`. It allows you to see not only the commits you made, but each of the actions that led you there.
- Use `git reflog` to display the git reference log. To view you "undo" history, you can use `git reflog`, which displays the git reference log:
- View your "undo" history
Because sometimes git log doesn't cut it, especially for commands that don't show up in your commit history.
reflog is basically your safety net after running "scary" commands like git rebase. You'll be able to see not only the commits you made, but each of the actions that led you there.
```shell ```shell
git reflog git reflog
```
```shell
git reflog
# b6a4f9d6ff9 (HEAD -> patch-1, origin/patch-1) HEAD@{0}: Update docs # b6a4f9d6ff9 (HEAD -> patch-1, origin/patch-1) HEAD@{0}: Update docs
# 3050fc0de HEAD@{1}: rebase -i (finish): returning to refs/heads/patch-1 # 3050fc0de HEAD@{1}: rebase -i (finish): returning to refs/heads/patch-1
# 3050fc0de HEAD@{2}: rebase -i (pick): Fix network bug # 3050fc0de HEAD@{2}: rebase -i (pick): Fix network bug
# 93df3f495 (origin/patch-2) HEAD@{3}: rebase -i (start): checkout origin/master # 93df3f495 (origin/patch-2) HEAD@{3}: rebase -i (start): checkout origin/master
# 69beaeabb HEAD@{4}: rebase -i (finish): returning to refs/heads/patch-1 # 69beaeabb HEAD@{4}: rebase -i (finish): returning to refs/heads/patch-1
``` ```
After you've found the commit you want, you can use `git reset` to go back to it.
```shell
git reset --hard 3050fc0de # Go back to the commit with the given hash
```