فهرست منبع

Add function to sync dotfiles quickly between branches

Andrew Swistak 11 سال پیش
والد
کامیت
83904303d3
2فایلهای تغییر یافته به همراه26 افزوده شده و 0 حذف شده
  1. 13 0
      bashrc
  2. 13 0
      zshrc

+ 13 - 0
bashrc

@@ -66,6 +66,19 @@ vim() {
   stty "$STTYOPTS"
 }
 
+dot_sync() {
+  current_branch=$(git branch | grep '\*.*' | cut -d '*' -f 2 | tr -d ' ')
+  if [ -z "$1" ]; then
+    1=$current_branch
+  fi
+
+  for branch in $(git branch | grep '^[^*].*$'); do
+    git ch $branch
+    git cherry-pick $1 || { echo 'Problems.. manually cherry-pick'; return 0 }
+  done
+  git ch $current_branch
+}
+
 export DOTFILES=$HOME/Documents/dotfiles
 export PATH=$DOTFILES/bin:$PATH
 export PATH=$PATH:$HOME/.rvm/bin

+ 13 - 0
zshrc

@@ -29,6 +29,19 @@ vim() {
 }
 export EDITOR="vim"
 
+dot_sync() {
+  current_branch=$(git branch | grep '\*.*' | cut -d '*' -f 2 | tr -d ' ')
+  if [ -z "$1" ]; then
+    1=$current_branch
+  fi
+
+  for branch in $(git branch | grep '^[^*].*$'); do
+    git ch $branch
+    git cherry-pick $1 || { echo 'Problems.. manually cherry-pick'; return 0 }
+  done
+  git ch $current_branch
+}
+
 # Set Home, End, Del, PgUp, PgDown keys to actually do something.
 bindkey '^[OH' beginning-of-line
 bindkey '^[OF' end-of-line