From 37918e09a45e46161ec40d5f515b73b30a274e02 Mon Sep 17 00:00:00 2001 From: Michael Berner Date: Tue, 20 Apr 2021 08:28:40 +0200 Subject: [PATCH] Adds some git helper scripts --- README.md | 15 ++++++++++++++ scripts/git/cheatsheets | 46 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100755 scripts/git/cheatsheets diff --git a/README.md b/README.md index 7aaa58b..5459991 100644 --- a/README.md +++ b/README.md @@ -94,6 +94,21 @@ The `cheat` executable includes no cheatsheets, but [community-sourced cheatsheets are available][cheatsheets]. You will be asked if you would like to install the community-sourced cheatsheets the first time you run `cheat`. +### Script ### +You can manage the cheatsheets via a script `cheatsheets`. + +#### Download and install #### +```sh +mkdir -p ~/.local/bin +wget -O ~/.local/bin/cheatsheets https://raw.githubusercontent.com/cheat/cheat/master/scripts/git/cheatsheets +chmod +x ~/.local/bin/cheatsheets +``` + +#### Pull changes #### +To pull the community and personal cheatsheets call `cheatsheets pull` + +#### Push changes #### +To push your personal cheatsheets call `cheatsheets push` Cheatpaths ---------- diff --git a/scripts/git/cheatsheets b/scripts/git/cheatsheets new file mode 100755 index 0000000..08bcb90 --- /dev/null +++ b/scripts/git/cheatsheets @@ -0,0 +1,46 @@ +#!/bin/sh -e + +pull() { + for d in `cheat -d | awk '{print $2}'`; + do + echo "Update $d" + cd "$d" + [ -d ".git" ] && git pull || : + done + + echo + echo "Finished update" +} + +push() { + for d in `cheat -d | grep -v "community" | awk '{print $2}'`; + do + cd "$d" + if [ -d ".git" ] + then + echo "Push modifications $d" + files=$(git ls-files -mo | tr '\n' ' ') + git add -A && git commit -m "Edited files: $files" && git push || : + else + echo "$(pwd) is not a git managed folder" + echo "First connect this to your personal git repository" + fi + done + + echo + echo "Finished push operation" +} + + +if [ "$1" = "pull" ]; then + pull +elif [ "$1" = "push" ]; then + push +else + echo "Usage: + # pull changes + cheatsheets pull + + # push changes + cheatsheets push" +fi