{"id":73581,"date":"2024-08-16T02:12:13","date_gmt":"2024-08-15T22:42:13","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/8-real-life-shell-functions-to-boost-your-productivity-4k1j\/"},"modified":"2024-08-16T02:12:13","modified_gmt":"2024-08-15T22:42:13","slug":"8-real-life-shell-functions-to-boost-your-productivity-4k1j","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/8-real-life-shell-functions-to-boost-your-productivity-4k1j\/","title":{"rendered":"8 \u0639\u0645\u0644\u06a9\u0631\u062f \u0648\u0627\u0642\u0639\u06cc \u067e\u0648\u0633\u062a\u0647 \u0628\u0631\u0627\u06cc \u0627\u0641\u0632\u0627\u06cc\u0634 \u0628\u0647\u0631\u0647 \u0648\u0631\u06cc \u0634\u0645\u0627"},"content":{"rendered":"<p>Summarize this content to 400 words in Persian Lang <\/p>\n<p>  \u0645\u0642\u062f\u0645\u0647<\/p>\n<p>\u062a\u0648\u0627\u0628\u0639 \u067e\u0648\u0633\u062a\u0647 \u0647\u0633\u062a\u0646\u062f \u0627\u0628\u0632\u0627\u0631 \u0642\u062f\u0631\u062a\u0645\u0646\u062f \u06a9\u0647 \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u0648\u0638\u0627\u06cc\u0641 \u0631\u0627 \u062e\u0648\u062f\u06a9\u0627\u0631 \u06a9\u0646\u06cc\u062f\u060c \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u062e\u0648\u062f \u0631\u0627 \u0633\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0627\u0641\u0632\u0627\u06cc\u0634 \u0628\u0647\u0631\u0647 \u0648\u0631\u06cc \u0628\u0627 \u06a9\u0627\u0647\u0634 \u06a9\u0627\u0631\u0647\u0627\u06cc \u062f\u0633\u062a\u06cc \u062a\u06a9\u0631\u0627\u0631\u06cc<\/p>\n<p>\u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc \u067e\u0648\u0633\u062a\u0647 \u0622\u0634\u0646\u0627\u06cc\u06cc \u062f\u0627\u0631\u0646\u062f\u060c \u0627\u0645\u0627 \u0645\u0639\u0645\u0648\u0644 \u0646\u06cc\u0633\u062a \u06a9\u0647 \u0628\u0628\u06cc\u0646\u06cc\u0645 \u0622\u0646\u0647\u0627 \u0627\u0632 \u0622\u0646 \u0628\u0631\u0627\u06cc \u0627\u0641\u0632\u0627\u06cc\u0634 \u0628\u0647\u0631\u0647 \u0648\u0631\u06cc \u062e\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u0646\u062f. \u0634\u0627\u06cc\u062f \u062a\u0646\u0647\u0627 \u0686\u06cc\u0632\u06cc \u06a9\u0647 \u06a9\u0645 \u0627\u0633\u062a \u06a9\u0645\u06cc \u062e\u0644\u0627\u0642\u06cc\u062a \u0628\u0627\u0634\u062f.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647\u060c \u0645\u0646 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0645\u06cc \u06af\u0630\u0627\u0631\u0645 8 \u0639\u0645\u0644\u06a9\u0631\u062f \u06a9\u0647 \u0645\u0646 \u0631\u0648\u0632\u0627\u0646\u0647 \u0628\u0631\u0627\u06cc \u06a9\u0645\u06a9 \u0628\u0647 \u0648\u0638\u0627\u06cc\u0641 \u06a9\u0627\u0631\u06cc \u062e\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u0645. \u0627\u0645\u06cc\u062f\u0648\u0627\u0631\u0645 \u0622\u0646\u0647\u0627 \u0628\u0647 \u0634\u0645\u0627 \u0627\u0644\u0647\u0627\u0645 \u0628\u062e\u0634\u0646\u062f \u062a\u0627 \u0639\u0645\u0644\u06a9\u0631\u062f\u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0647\u0631\u0647 \u0648\u0631\u06cc \u062e\u0648\u062f \u0631\u0627 \u0627\u0641\u0632\u0627\u06cc\u0634 \u062f\u0647\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644 \u0647\u0627\u06cc \u0632\u06cc\u0631\u060c \u0645\u0646 \u0627\u0632 ZSH \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u0645.<\/p>\n<p>  1: \u0645\u062d\u06cc\u0637 Dev Environment \u0631\u0627 \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0645\u0646 \u0639\u0627\u062f\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0634\u0639\u0628\u0647 \u0645\u062d\u0644\u06cc \u062e\u0648\u062f \u0631\u0627 \u062f\u0631 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634 \u06a9\u0646\u0645. \u0628\u0631\u0627\u06cc \u062c\u0627\u0628\u062c\u0627\u06cc\u06cc \u0648 \u0627\u062f\u063a\u0627\u0645 \u0633\u0631\u06cc\u0639\u062a\u0631 \u0634\u0627\u062e\u0647 \u0647\u0627\u060c \u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631 \u0627\u0632 \u062a\u0627\u0628\u0639 \u0632\u06cc\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u0645:<\/p>\n<p>function merge_dev {<br \/>\n  BRANCH=$(git branch &#8211;show-current);<br \/>\n  git checkout dev;<br \/>\n  git fetch -pa;<br \/>\n  git reset &#8211;hard origin\/dev;<br \/>\n  git merge $BRANCH;<br \/>\n  echo Done! Now, finish the merge and push the changes.<br \/>\n}<\/p>\n<p>\u0627\u06cc\u0646 git push \u062f\u0633\u062a\u0648\u0631 \u0639\u0645\u062f\u0627\u064b \u0627\u0632 \u0622\u0646 \u06a9\u0646\u0627\u0631 \u06af\u0630\u0627\u0634\u062a\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a merge_dev \u0639\u0645\u0644\u06a9\u0631\u062f \u0632\u06cc\u0631\u0627 \u0645\u0646 \u0627\u063a\u0644\u0628 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u062d\u0644 \u062a\u0639\u0627\u0631\u0636 \u0642\u0628\u0644 \u0627\u0632 \u0641\u0634\u0627\u0631 \u062f\u0627\u062f\u0646 \u062f\u0627\u0631\u0645\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u062a\u0635\u0645\u06cc\u0645 \u06af\u0631\u0641\u062a\u0645 \u0622\u0646 \u0631\u0627 \u062c\u062f\u0627 \u0646\u06af\u0647 \u062f\u0627\u0631\u0645.<\/p>\n<p>  2: Git Rebase<\/p>\n<p>\u0634\u0628\u06cc\u0647 \u0628\u0647 \u062a\u0627\u0628\u0639 1\u060c \u0627\u06cc\u0646 \u062a\u0627\u0628\u0639 \u0632\u0645\u0627\u0646\u06cc \u0645\u0641\u06cc\u062f \u0627\u0633\u062a \u06a9\u0647 \u0645\u0646 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u062a\u063a\u06cc\u06cc\u0631 \u0634\u0627\u062e\u0647 \u0647\u0627 \u0648 \u0627\u062c\u0631\u0627\u06cc \u062f\u06cc\u06af\u0631\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u0645 \u062f\u0633\u062a\u0648\u0631 git. \u0628\u0631\u0627\u06cc \u0633\u0631\u06cc\u0639\u062a\u0631 \u06a9\u0631\u062f\u0646 \u0627\u06cc\u0646 \u0641\u0631\u0622\u06cc\u0646\u062f\u060c \u0645\u0646 \u0622\u0646 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0645 \u0631\u0648\u0628\u0627\u0647 \u062a\u0627\u0628\u0639:<\/p>\n<p>function rebase {<br \/>\n    BRANCH=$(git branch &#8211;show-current);<br \/>\n    git checkout $1;<br \/>\n    git pull;<br \/>\n    git checkout $BRANCH;<br \/>\n    git rebase $1;<br \/>\n}<\/p>\n<p># usage example<br \/>\nrebase master<\/p>\n<p>  3: \u0645\u06cc\u0627\u0646\u0628\u0631 \u0628\u0631\u0627\u06cc \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc ZSH<\/p>\n<p>\u0645\u0646 \u0647\u0645\u06cc\u0634\u0647 \u062f\u0631 \u062d\u0627\u0644 \u0627\u06cc\u062c\u0627\u062f \u062a\u0648\u0627\u0628\u0639 \u062c\u062f\u06cc\u062f \u06cc\u0627 \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc \u062a\u0648\u0627\u0628\u0639 \u0642\u062f\u06cc\u0645\u06cc \u0647\u0633\u062a\u0645\u060c \u0648 \u0628\u0647 \u0646\u0638\u0631 \u0645\u06cc \u0631\u0633\u062f \u0647\u0631\u06af\u0632 \u0645\u0633\u06cc\u0631 \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u062e\u0627\u0637\u0631 \u0646\u0645\u06cc \u0622\u0648\u0631\u0645 zshrc \u0641\u0627\u06cc\u0644 \u0647\u0627 \ud83d\ude02.<\/p>\n<p>function config {<br \/>\n  # Check if parameter is null<br \/>\n  if [ -z $1 ]; then<br \/>\n    code &#8220;$HOME\/.zshrc&#8221;<br \/>\n    return<br \/>\n  fi<\/p>\n<p>  case &#8220;$1&#8221; in<br \/>\n    alias )<br \/>\n      code &#8220;$HOME\/CUSTOM_ZSH\/.alias.sh&#8221;<br \/>\n    ;;<br \/>\n    func )<br \/>\n      code &#8220;$HOME\/CUSTOM_ZSH\/.functions.sh&#8221;<br \/>\n    ;;<br \/>\n    * )<br \/>\n      echo &#8220;$1 is not a valid parameter for config function&#8221;<br \/>\n    ;;<br \/>\n  esac<br \/>\n}<\/p>\n<p># usage example<br \/>\nconfig func<\/p>\n<p>  4: Upstream \u0648 Open Repo \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0641\u0634\u0627\u0631 \u062f\u0627\u062f\u0646 \u0634\u0627\u062e\u0647 \u0627\u06cc \u06a9\u0647 \u062f\u0631 \u0645\u062e\u0632\u0646 \u0631\u0627\u0647 \u062f\u0648\u0631 \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f \u0628\u0633\u06cc\u0627\u0631 \u0622\u0632\u0627\u0631\u062f\u0647\u0646\u062f\u0647 \u0627\u0633\u062a. \u0628\u0631\u0627\u06cc \u0646\u062c\u0627\u062a \u0627\u0632 \u0627\u06cc\u0646 \u062f\u0631\u062f\u0633\u0631 \u0627\u0632 gpp \u062a\u0627\u0628\u0639 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u062e\u0648\u062f\u06a9\u0627\u0631 &#8211;set-upstream \u067e\u0631\u0686\u0645 \u062f\u0631 \u0635\u0648\u0631\u062a \u0646\u06cc\u0627\u0632 \u0645\u0646 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u062e\u0632\u0646 \u0627\u0632 \u0631\u0627\u0647 \u062f\u0648\u0631 \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0645\u0631\u0648\u0631\u06af\u0631 \u0628\u0627\u0632 \u0645\u06cc \u06a9\u0646\u0645 \u0632\u06cc\u0631\u0627 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u067e\u0633 \u0627\u0632 \u0641\u0634\u0627\u0631 \u062f\u0627\u062f\u0646 \u06cc\u06a9 \u0634\u0639\u0628\u0647 \u062c\u062f\u06cc\u062f \u06cc\u06a9 PR \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u0645.<\/p>\n<p>function gpp {<br \/>\n  BRANCH=$(git branch &#8211;show-current);<br \/>\n  ORIGIN=&#8221;origin&#8221;<\/p>\n<p>  git push<br \/>\n  RESULT=$?<\/p>\n<p>  if [[ $RESULT != 0 ]]; then<br \/>\n    GIT_PUSH_OUTPUT=$(git push &#8211;set-upstream $ORIGIN $BRANCH 2&gt;&amp;1)<br \/>\n    echo $GIT_PUSH_OUTPUT<\/p>\n<p>    REPO_NAME=$(pwd | awk -F\/ &#8216;{print $NF}&#8217;)<br \/>\n    open &#8220;https:\/\/github.com\/feliperocha93\/$REPO_NAME&#8221;<br \/>\n  fi<br \/>\n}<\/p>\n<p>  5: \u0631\u0648\u0627\u0628\u0637 \u0639\u0645\u0648\u0645\u06cc \u0633\u0631\u06cc\u0639<\/p>\n<p>\u0633\u0627\u062e\u062a \u0628\u0631 \u0631\u0648\u06cc \u062a\u0627\u0628\u0639 4 \u0648 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0646\u0627\u0645 \u0645\u0633\u062a\u0639\u0627\u0631 ZSH\u060c \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0628\u0627\u0632 \u06a9\u0631\u062f\u0646 \u0631\u0648\u0627\u0628\u0637 \u0639\u0645\u0648\u0645\u06cc \u0628\u0627 \u06cc\u06a9 commit \u062f\u0627\u0631\u0645\u060c \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 fast_pr \u062a\u0627\u0628\u0639:<\/p>\n<p>function fast_pr {<br \/>\n  gaa;<br \/>\n  gcmsg &#8220;$1&#8221;;<br \/>\n  gpp;<br \/>\n}<\/p>\n<p># usage example<br \/>\nfast_pr &#8220;chore: update zsh function&#8221;<\/p>\n<p>  6: \u0627\u0639\u062a\u0628\u0627\u0631\u0646\u0627\u0645\u0647 \u0647\u0627 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0648 \u0635\u0627\u062f\u0631 \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0627\u06cc\u0646 \u0627\u062d\u062a\u0645\u0627\u0644\u0627 \u067e\u06cc\u0686\u06cc\u062f\u0647 \u062a\u0631\u06cc\u0646 \u0648 \u0635\u0631\u0641\u0647 \u062c\u0648\u06cc\u06cc \u062f\u0631 \u0632\u0645\u0627\u0646 \u062f\u0631 \u0627\u06cc\u0646 \u0633\u0631\u06cc \u0627\u0632 \u062a\u0627\u0628\u0639 \u0627\u0633\u062a 8 \u0639\u0645\u0644\u06a9\u0631\u062f. \u0645\u062a\u063a\u06cc\u0631\u0647\u0627 \u062a\u0627 \u062d\u062f\u0648\u062f\u06cc \u067e\u0648\u0634\u0627\u0646\u062f\u0647 \u0634\u062f\u0647 \u0627\u0646\u062f\u060c \u0632\u06cc\u0631\u0627 \u0644\u0627\u0632\u0645 \u0646\u06cc\u0633\u062a \u0646\u0627\u0645 \u0648\u0627\u0642\u0639\u06cc \u0622\u0646\u0647\u0627 \u0646\u0634\u0627\u0646 \u062f\u0627\u062f\u0647 \u0634\u0648\u062f\u060c \u0627\u0645\u0627 \u0645\u062b\u0627\u0644 \u0628\u0627\u06cc\u062f \u0628\u0631\u0627\u06cc \u062a\u0648\u0636\u06cc\u062d \u0645\u0641\u0647\u0648\u0645 \u06a9\u0627\u0641\u06cc \u0628\u0627\u0634\u062f.<\/p>\n<p>\u0627\u0633\u0627\u0633\u0627\u064b \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0627\u06cc \u06a9\u0647 \u0645\u0646 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062d\u0644\u06cc \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u06a9\u0646\u0645 \u0628\u0647 \u0686\u0646\u062f\u06cc\u0646 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u06a9\u0647 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u062f\u0627\u0631\u0646\u062f \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0631\u062f. \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u0639\u062a\u0628\u0627\u0631\u0646\u0627\u0645\u0647 \u0647\u0627 \u0631\u0627 \u0627\u0632 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637\u06cc \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u0627\u06cc\u0646\u060c get_credentials \u062a\u0627\u0628\u0639 \u0645\u0646 \u0631\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u062e\u0637 \u0641\u0631\u0645\u0627\u0646 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0627\u0639\u062a\u0628\u0627\u0631\u0646\u0627\u0645\u0647 \u0647\u0627 \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>function get_credentials {<br \/>\n  # some command to get credentials<br \/>\n  credentials=$(foo &#8211;bar); <\/p>\n<p>  # in this example, credentials is a string like<br \/>\n  # username:username password:password<br \/>\n  # and awk method are extracting the value<\/p>\n<p>  export USERNAME=$(echo $credentials | awk -F&#8217;username: &#8216; &#8216;{print $2}&#8217; | tr -d &#8216;[:space:]&#8217;);<br \/>\n  export PASSWORD=$(echo $credentials | awk -F&#8217;password: &#8216; &#8216;{print $2}&#8217; | tr -d &#8216;[:space:]&#8217;);<\/p>\n<p>  export REDIS_HOST=localhost<br \/>\n  export REDIS_PORT=6379<\/p>\n<p>  echo $USERNAME $PASSWORD<br \/>\n}<\/p>\n<p>  7: Dependencies \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0647\u0646\u06af\u0627\u0645 \u06a9\u0627\u0631 \u0628\u0631 \u0631\u0648\u06cc \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u067e\u0633 \u0627\u0632 \u0645\u062f\u062a \u0632\u0645\u0627\u0646 \u0637\u0648\u0644\u0627\u0646\u06cc\u060c \u0645\u0647\u0645 \u0627\u0633\u062a \u06a9\u0647 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0627\u0632 \u0628\u0631\u062e\u06cc \u0645\u0634\u06a9\u0644\u0627\u062a \u0646\u0627\u0633\u0627\u0632\u06af\u0627\u0631\u06cc \u062f\u0631 \u0637\u0648\u0644 \u062a\u0648\u0633\u0639\u0647 \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u06a9\u0646\u06cc\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0645\u0646 \u0647\u0645\u06cc\u0634\u0647 \u0633\u0639\u06cc \u0645\u06cc \u06a9\u0646\u0645 \u0634\u0639\u0628\u0647 \u0645\u062d\u0644\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u0634\u0639\u0628\u0647 \u0627\u0635\u0644\u06cc \u0628\u0647 \u0631\u0648\u0632 \u0646\u06af\u0647 \u062f\u0627\u0631\u0645.<\/p>\n<p>function start {<br \/>\n  BRANCH=$(git branch &#8211;show-current);<\/p>\n<p>  function update_and_install {<br \/>\n    git pull;<br \/>\n    nvm use;<br \/>\n    npm ci;<br \/>\n  }<\/p>\n<p>  if [ $BRANCH != &#8216;master&#8217; ]; then<br \/>\n    git checkout master;<br \/>\n    update_and_install;<br \/>\n    git checkout $BRANCH;<br \/>\n    return;<br \/>\n  fi<\/p>\n<p> update_and_install;<br \/>\n}<\/p>\n<p>  \u067e\u0627\u062f\u0627\u0634: \u0646\u0627\u0645 \u0645\u0633\u062a\u0639\u0627\u0631<\/p>\n<p>\u0645\u0646 \u0645\u06cc \u062f\u0627\u0646\u0645 \u06a9\u0647 \u0646\u0627\u0645 \u0645\u0633\u062a\u0639\u0627\u0631 \u062f\u0642\u06cc\u0642\u0627\u064b \u062a\u0648\u0627\u0628\u0639 \u0646\u06cc\u0633\u062a\u0646\u062f\u060c \u0627\u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0647 \u0634\u0645\u0627 \u062f\u0631 \u0635\u0631\u0641\u0647 \u062c\u0648\u06cc\u06cc \u062f\u0631 \u0632\u0645\u0627\u0646 \u06a9\u0645\u06a9 \u06a9\u0646\u0646\u062f. \u062f\u0631 \u0645\u062b\u0627\u0644 \u0647\u0627\u06cc \u0632\u06cc\u0631\u060c \u0645\u0646 \u0627\u0632 \u0628\u0631\u062e\u06cc \u0646\u0627\u0645 \u0647\u0627\u06cc \u0645\u0633\u062a\u0639\u0627\u0631 \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0645\u06a9\u0631\u0631 \u0628\u0627 \u06a9\u0644\u0645\u0627\u062a \u06a9\u0648\u062a\u0627\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u0645.<\/p>\n<p># browse to folder<br \/>\nalias deployments=&#8221;cd ~\/Documents\/deployments&#8221;<br \/>\nalias feliperocha=&#8221;cd ~\/Documents\/feliperocha&#8221;<\/p>\n<p># browse to folder and list projects<br \/>\nalias projects=&#8221;cd $HOME\/Documents\/projects &amp;&amp; ls -a&#8221;<\/p>\n<p># open a specific folder<br \/>\nalias XPTO=&#8221;cd ~\/Documents\/XPTO; open .&#8221;<\/p>\n<p>  \u0646\u062a\u06cc\u062c\u0647 \u06af\u06cc\u0631\u06cc<\/p>\n<p>\u0645\u0645\u0646\u0648\u0646 \u06a9\u0647 \u062a\u0627 \u0622\u062e\u0631 \u062e\u0648\u0627\u0646\u062f\u06cc\u062f \u0642\u0635\u062f \u0645\u0646 \u0627\u0632 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06af\u0630\u0627\u0634\u062a\u0646 \u0627\u06cc\u0646 \u0639\u0645\u0644\u06a9\u0631\u062f\u0647\u0627 \u0628\u0631\u0627\u06cc \u0628\u0627\u0632 \u06a9\u0631\u062f\u0646 \u0630\u0647\u0646 \u0634\u0645\u0627 \u0648 \u0628\u0631\u0627\u0646\u06af\u06cc\u062e\u062a\u0646 \u062e\u0644\u0627\u0642\u06cc\u062a \u0634\u0645\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0639\u0645\u0644\u06a9\u0631\u062f\u0647\u0627\u06cc \u062e\u0648\u062f \u0648 \u0627\u0641\u0632\u0627\u06cc\u0634 \u0628\u0647\u0631\u0647 \u0648\u0631\u06cc \u0631\u0648\u0632\u0627\u0646\u0647 \u0634\u0645\u0627\u0633\u062a.<\/p>\n<p>\u0646\u0638\u0631 \u062e\u0648\u062f \u0631\u0627 \u062f\u0631 \u0632\u06cc\u0631 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0628\u06af\u0630\u0627\u0631\u06cc\u062f \u06a9\u0647 \u06a9\u062f\u0627\u0645 \u0639\u0645\u0644\u06a9\u0631\u062f \u0645\u0648\u0631\u062f \u0639\u0644\u0627\u0642\u0647 \u0634\u0645\u0627 \u0628\u0648\u062f \u06cc\u0627 \u062e\u0648\u062f\u062a\u0627\u0646 \u067e\u0633\u062a \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0628\u0627 \u0627\u062d\u062a\u0631\u0627\u0645\u060c<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/8-real-life-shell-functions-to-boost-your-productivity-4k1j\/#%D9%85%D9%82%D8%AF%D9%85%D9%87\" >\u0645\u0642\u062f\u0645\u0647<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/8-real-life-shell-functions-to-boost-your-productivity-4k1j\/#1_%D9%85%D8%AD%DB%8C%D8%B7_Dev_Environment_%D8%B1%D8%A7_%D9%81%D8%B4%D8%A7%D8%B1_%D8%AF%D9%87%DB%8C%D8%AF\" >1: \u0645\u062d\u06cc\u0637 Dev Environment \u0631\u0627 \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/8-real-life-shell-functions-to-boost-your-productivity-4k1j\/#2_Git_Rebase\" >2: Git Rebase<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/8-real-life-shell-functions-to-boost-your-productivity-4k1j\/#3_%D9%85%DB%8C%D8%A7%D9%86%D8%A8%D8%B1_%D8%A8%D8%B1%D8%A7%DB%8C_%D9%81%D8%A7%DB%8C%D9%84_%D9%87%D8%A7%DB%8C_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_ZSH\" >3: \u0645\u06cc\u0627\u0646\u0628\u0631 \u0628\u0631\u0627\u06cc \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc ZSH<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/8-real-life-shell-functions-to-boost-your-productivity-4k1j\/#4_Upstream_%D9%88_Open_Repo_%D8%B1%D8%A7_%D8%AA%D9%86%D8%B8%DB%8C%D9%85_%DA%A9%D9%86%DB%8C%D8%AF\" >4: Upstream \u0648 Open Repo \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/8-real-life-shell-functions-to-boost-your-productivity-4k1j\/#5_%D8%B1%D9%88%D8%A7%D8%A8%D8%B7_%D8%B9%D9%85%D9%88%D9%85%DB%8C_%D8%B3%D8%B1%DB%8C%D8%B9\" >5: \u0631\u0648\u0627\u0628\u0637 \u0639\u0645\u0648\u0645\u06cc \u0633\u0631\u06cc\u0639<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/8-real-life-shell-functions-to-boost-your-productivity-4k1j\/#6_%D8%A7%D8%B9%D8%AA%D8%A8%D8%A7%D8%B1%D9%86%D8%A7%D9%85%D9%87_%D9%87%D8%A7_%D8%B1%D8%A7_%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA_%D9%88_%D8%B5%D8%A7%D8%AF%D8%B1_%DA%A9%D9%86%DB%8C%D8%AF\" >6: \u0627\u0639\u062a\u0628\u0627\u0631\u0646\u0627\u0645\u0647 \u0647\u0627 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0648 \u0635\u0627\u062f\u0631 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/8-real-life-shell-functions-to-boost-your-productivity-4k1j\/#7_Dependencies_%D8%B1%D8%A7_%D9%86%D8%B5%D8%A8_%DA%A9%D9%86%DB%8C%D8%AF\" >7: Dependencies \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nabfollower.com\/blog\/8-real-life-shell-functions-to-boost-your-productivity-4k1j\/#%D9%BE%D8%A7%D8%AF%D8%A7%D8%B4_%D9%86%D8%A7%D9%85_%D9%85%D8%B3%D8%AA%D8%B9%D8%A7%D8%B1\" >\u067e\u0627\u062f\u0627\u0634: \u0646\u0627\u0645 \u0645\u0633\u062a\u0639\u0627\u0631<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/nabfollower.com\/blog\/8-real-life-shell-functions-to-boost-your-productivity-4k1j\/#%D9%86%D8%AA%DB%8C%D8%AC%D9%87_%DA%AF%DB%8C%D8%B1%DB%8C\" >\u0646\u062a\u06cc\u062c\u0647 \u06af\u06cc\u0631\u06cc<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D9%85%D9%82%D8%AF%D9%85%D9%87\"><\/span>\n<p>  \u0645\u0642\u062f\u0645\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062a\u0648\u0627\u0628\u0639 \u067e\u0648\u0633\u062a\u0647 \u0647\u0633\u062a\u0646\u062f <strong>\u0627\u0628\u0632\u0627\u0631 \u0642\u062f\u0631\u062a\u0645\u0646\u062f<\/strong> \u06a9\u0647 \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u0648\u0638\u0627\u06cc\u0641 \u0631\u0627 \u062e\u0648\u062f\u06a9\u0627\u0631 \u06a9\u0646\u06cc\u062f\u060c \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u062e\u0648\u062f \u0631\u0627 \u0633\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u0648 <strong>\u0627\u0641\u0632\u0627\u06cc\u0634 \u0628\u0647\u0631\u0647 \u0648\u0631\u06cc<\/strong> \u0628\u0627 \u06a9\u0627\u0647\u0634 \u06a9\u0627\u0631\u0647\u0627\u06cc \u062f\u0633\u062a\u06cc \u062a\u06a9\u0631\u0627\u0631\u06cc<\/p>\n<p>\u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc \u067e\u0648\u0633\u062a\u0647 \u0622\u0634\u0646\u0627\u06cc\u06cc \u062f\u0627\u0631\u0646\u062f\u060c \u0627\u0645\u0627 \u0645\u0639\u0645\u0648\u0644 \u0646\u06cc\u0633\u062a \u06a9\u0647 \u0628\u0628\u06cc\u0646\u06cc\u0645 \u0622\u0646\u0647\u0627 \u0627\u0632 \u0622\u0646 \u0628\u0631\u0627\u06cc \u0627\u0641\u0632\u0627\u06cc\u0634 \u0628\u0647\u0631\u0647 \u0648\u0631\u06cc \u062e\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u0646\u062f. <em>\u0634\u0627\u06cc\u062f \u062a\u0646\u0647\u0627 \u0686\u06cc\u0632\u06cc \u06a9\u0647 \u06a9\u0645 \u0627\u0633\u062a \u06a9\u0645\u06cc \u062e\u0644\u0627\u0642\u06cc\u062a \u0628\u0627\u0634\u062f.<\/em><\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647\u060c \u0645\u0646 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0645\u06cc \u06af\u0630\u0627\u0631\u0645 <strong>8 \u0639\u0645\u0644\u06a9\u0631\u062f<\/strong> \u06a9\u0647 \u0645\u0646 \u0631\u0648\u0632\u0627\u0646\u0647 \u0628\u0631\u0627\u06cc \u06a9\u0645\u06a9 \u0628\u0647 \u0648\u0638\u0627\u06cc\u0641 \u06a9\u0627\u0631\u06cc \u062e\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u0645. \u0627\u0645\u06cc\u062f\u0648\u0627\u0631\u0645 \u0622\u0646\u0647\u0627 \u0628\u0647 \u0634\u0645\u0627 \u0627\u0644\u0647\u0627\u0645 \u0628\u062e\u0634\u0646\u062f \u062a\u0627 \u0639\u0645\u0644\u06a9\u0631\u062f\u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0647\u0631\u0647 \u0648\u0631\u06cc \u062e\u0648\u062f \u0631\u0627 \u0627\u0641\u0632\u0627\u06cc\u0634 \u062f\u0647\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644 \u0647\u0627\u06cc \u0632\u06cc\u0631\u060c \u0645\u0646 \u0627\u0632 ZSH \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u0645.<\/p>\n<p><\/p>\n<h3><span class=\"ez-toc-section\" id=\"1_%D9%85%D8%AD%DB%8C%D8%B7_Dev_Environment_%D8%B1%D8%A7_%D9%81%D8%B4%D8%A7%D8%B1_%D8%AF%D9%87%DB%8C%D8%AF\"><\/span>\n<p>  1: \u0645\u062d\u06cc\u0637 Dev Environment \u0631\u0627 \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u0631\u0627\u06cc \u0645\u0646 \u0639\u0627\u062f\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0634\u0639\u0628\u0647 \u0645\u062d\u0644\u06cc \u062e\u0648\u062f \u0631\u0627 \u062f\u0631 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634 \u06a9\u0646\u0645. \u0628\u0631\u0627\u06cc \u062c\u0627\u0628\u062c\u0627\u06cc\u06cc \u0648 \u0627\u062f\u063a\u0627\u0645 \u0633\u0631\u06cc\u0639\u062a\u0631 \u0634\u0627\u062e\u0647 \u0647\u0627\u060c \u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631 \u0627\u0632 \u062a\u0627\u0628\u0639 \u0632\u06cc\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u0645:\n<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"k\">function <\/span>merge_dev <span class=\"o\">{<\/span>\n  <span class=\"nv\">BRANCH<\/span><span class=\"o\">=<\/span><span class=\"si\">$(<\/span>git branch <span class=\"nt\">--show-current<\/span><span class=\"si\">)<\/span><span class=\"p\">;<\/span>\n  git checkout dev<span class=\"p\">;<\/span>\n  git fetch <span class=\"nt\">-pa<\/span><span class=\"p\">;<\/span>\n  git reset <span class=\"nt\">--hard<\/span> origin\/dev<span class=\"p\">;<\/span>\n  git merge <span class=\"nv\">$BRANCH<\/span><span class=\"p\">;<\/span>\n  <span class=\"nb\">echo <\/span>Done! Now, finish the merge and push the changes.\n<span class=\"o\">}<\/span>\n<\/code><\/pre>\n<\/div>\n<p>\u0627\u06cc\u0646 <code>git push<\/code> \u062f\u0633\u062a\u0648\u0631 \u0639\u0645\u062f\u0627\u064b \u0627\u0632 \u0622\u0646 \u06a9\u0646\u0627\u0631 \u06af\u0630\u0627\u0634\u062a\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a <em>merge_dev<\/em> \u0639\u0645\u0644\u06a9\u0631\u062f \u0632\u06cc\u0631\u0627 \u0645\u0646 \u0627\u063a\u0644\u0628 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u062d\u0644 \u062a\u0639\u0627\u0631\u0636 \u0642\u0628\u0644 \u0627\u0632 \u0641\u0634\u0627\u0631 \u062f\u0627\u062f\u0646 \u062f\u0627\u0631\u0645\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u062a\u0635\u0645\u06cc\u0645 \u06af\u0631\u0641\u062a\u0645 \u0622\u0646 \u0631\u0627 \u062c\u062f\u0627 \u0646\u06af\u0647 \u062f\u0627\u0631\u0645.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"2_Git_Rebase\"><\/span>\n<p>  2: Git Rebase<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0634\u0628\u06cc\u0647 \u0628\u0647 <strong>\u062a\u0627\u0628\u0639 1<\/strong>\u060c \u0627\u06cc\u0646 \u062a\u0627\u0628\u0639 \u0632\u0645\u0627\u0646\u06cc \u0645\u0641\u06cc\u062f \u0627\u0633\u062a \u06a9\u0647 \u0645\u0646 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u062a\u063a\u06cc\u06cc\u0631 \u0634\u0627\u062e\u0647 \u0647\u0627 \u0648 \u0627\u062c\u0631\u0627\u06cc \u062f\u06cc\u06af\u0631\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u0645 <em>\u062f\u0633\u062a\u0648\u0631 git<\/em>. \u0628\u0631\u0627\u06cc \u0633\u0631\u06cc\u0639\u062a\u0631 \u06a9\u0631\u062f\u0646 \u0627\u06cc\u0646 \u0641\u0631\u0622\u06cc\u0646\u062f\u060c \u0645\u0646 \u0622\u0646 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0645 <em>\u0631\u0648\u0628\u0627\u0647<\/em> \u062a\u0627\u0628\u0639:\n<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"k\">function <\/span>rebase <span class=\"o\">{<\/span>\n    <span class=\"nv\">BRANCH<\/span><span class=\"o\">=<\/span><span class=\"si\">$(<\/span>git branch <span class=\"nt\">--show-current<\/span><span class=\"si\">)<\/span><span class=\"p\">;<\/span>\n    git checkout <span class=\"nv\">$1<\/span><span class=\"p\">;<\/span>\n    git pull<span class=\"p\">;<\/span>\n    git checkout <span class=\"nv\">$BRANCH<\/span><span class=\"p\">;<\/span>\n    git rebase <span class=\"nv\">$1<\/span><span class=\"p\">;<\/span>\n<span class=\"o\">}<\/span>\n\n<span class=\"c\"># usage example<\/span>\nrebase master\n<\/code><\/pre>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"3_%D9%85%DB%8C%D8%A7%D9%86%D8%A8%D8%B1_%D8%A8%D8%B1%D8%A7%DB%8C_%D9%81%D8%A7%DB%8C%D9%84_%D9%87%D8%A7%DB%8C_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_ZSH\"><\/span>\n<p>  3: \u0645\u06cc\u0627\u0646\u0628\u0631 \u0628\u0631\u0627\u06cc \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc ZSH<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0645\u0646 \u0647\u0645\u06cc\u0634\u0647 \u062f\u0631 \u062d\u0627\u0644 \u0627\u06cc\u062c\u0627\u062f \u062a\u0648\u0627\u0628\u0639 \u062c\u062f\u06cc\u062f \u06cc\u0627 \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc \u062a\u0648\u0627\u0628\u0639 \u0642\u062f\u06cc\u0645\u06cc \u0647\u0633\u062a\u0645\u060c \u0648 \u0628\u0647 \u0646\u0638\u0631 \u0645\u06cc \u0631\u0633\u062f \u0647\u0631\u06af\u0632 \u0645\u0633\u06cc\u0631 \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u062e\u0627\u0637\u0631 \u0646\u0645\u06cc \u0622\u0648\u0631\u0645 <em>zshrc<\/em> \u0641\u0627\u06cc\u0644 \u0647\u0627 \ud83d\ude02.\n<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"k\">function <\/span>config <span class=\"o\">{<\/span>\n  <span class=\"c\"># Check if parameter is null<\/span>\n  <span class=\"k\">if<\/span> <span class=\"o\">[<\/span> <span class=\"nt\">-z<\/span> <span class=\"nv\">$1<\/span> <span class=\"o\">]<\/span><span class=\"p\">;<\/span> <span class=\"k\">then \n    <\/span>code <span class=\"s2\">\"<\/span><span class=\"nv\">$HOME<\/span><span class=\"s2\">\/.zshrc\"<\/span>\n    <span class=\"k\">return\n  fi\n\n  case<\/span> <span class=\"s2\">\"<\/span><span class=\"nv\">$1<\/span><span class=\"s2\">\"<\/span> <span class=\"k\">in\n    <\/span><span class=\"nb\">alias<\/span> <span class=\"p\">)<\/span>\n      code <span class=\"s2\">\"<\/span><span class=\"nv\">$HOME<\/span><span class=\"s2\">\/CUSTOM_ZSH\/.alias.sh\"<\/span>\n    <span class=\"p\">;;<\/span>\n    func <span class=\"p\">)<\/span>\n      code <span class=\"s2\">\"<\/span><span class=\"nv\">$HOME<\/span><span class=\"s2\">\/CUSTOM_ZSH\/.functions.sh\"<\/span>\n    <span class=\"p\">;;<\/span>\n    <span class=\"k\">*<\/span> <span class=\"p\">)<\/span>\n      <span class=\"nb\">echo<\/span> <span class=\"s2\">\"<\/span><span class=\"nv\">$1<\/span><span class=\"s2\"> is not a valid parameter for config function\"<\/span>\n    <span class=\"p\">;;<\/span>\n  <span class=\"k\">esac<\/span>\n<span class=\"o\">}<\/span>\n\n<span class=\"c\"># usage example<\/span>\nconfig func\n<\/code><\/pre>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"4_Upstream_%D9%88_Open_Repo_%D8%B1%D8%A7_%D8%AA%D9%86%D8%B8%DB%8C%D9%85_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  4: Upstream \u0648 Open Repo \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0641\u0634\u0627\u0631 \u062f\u0627\u062f\u0646 \u0634\u0627\u062e\u0647 \u0627\u06cc \u06a9\u0647 \u062f\u0631 \u0645\u062e\u0632\u0646 \u0631\u0627\u0647 \u062f\u0648\u0631 \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f \u0628\u0633\u06cc\u0627\u0631 \u0622\u0632\u0627\u0631\u062f\u0647\u0646\u062f\u0647 \u0627\u0633\u062a. \u0628\u0631\u0627\u06cc \u0646\u062c\u0627\u062a \u0627\u0632 \u0627\u06cc\u0646 \u062f\u0631\u062f\u0633\u0631 \u0627\u0632 <em>gpp<\/em> \u062a\u0627\u0628\u0639 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u062e\u0648\u062f\u06a9\u0627\u0631 <code>--set-upstream<\/code> \u067e\u0631\u0686\u0645 \u062f\u0631 \u0635\u0648\u0631\u062a \u0646\u06cc\u0627\u0632 \u0645\u0646 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u062e\u0632\u0646 \u0627\u0632 \u0631\u0627\u0647 \u062f\u0648\u0631 \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0645\u0631\u0648\u0631\u06af\u0631 \u0628\u0627\u0632 \u0645\u06cc \u06a9\u0646\u0645 \u0632\u06cc\u0631\u0627 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u067e\u0633 \u0627\u0632 \u0641\u0634\u0627\u0631 \u062f\u0627\u062f\u0646 \u06cc\u06a9 \u0634\u0639\u0628\u0647 \u062c\u062f\u06cc\u062f \u06cc\u06a9 PR \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u0645.\n<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"k\">function <\/span>gpp <span class=\"o\">{<\/span>\n  <span class=\"nv\">BRANCH<\/span><span class=\"o\">=<\/span><span class=\"si\">$(<\/span>git branch <span class=\"nt\">--show-current<\/span><span class=\"si\">)<\/span><span class=\"p\">;<\/span>\n  <span class=\"nv\">ORIGIN<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"origin\"<\/span>\n\n  git push\n  <span class=\"nv\">RESULT<\/span><span class=\"o\">=<\/span><span class=\"nv\">$?<\/span>\n\n  <span class=\"k\">if<\/span> <span class=\"o\">[[<\/span> <span class=\"nv\">$RESULT<\/span> <span class=\"o\">!=<\/span> 0 <span class=\"o\">]]<\/span><span class=\"p\">;<\/span> <span class=\"k\">then\n    <\/span><span class=\"nv\">GIT_PUSH_OUTPUT<\/span><span class=\"o\">=<\/span><span class=\"si\">$(<\/span>git push <span class=\"nt\">--set-upstream<\/span> <span class=\"nv\">$ORIGIN<\/span> <span class=\"nv\">$BRANCH<\/span> 2&gt;&amp;1<span class=\"si\">)<\/span>\n    <span class=\"nb\">echo<\/span> <span class=\"nv\">$GIT_PUSH_OUTPUT<\/span>\n\n    <span class=\"nv\">REPO_NAME<\/span><span class=\"o\">=<\/span><span class=\"si\">$(<\/span><span class=\"nb\">pwd<\/span> | <span class=\"nb\">awk<\/span> <span class=\"nt\">-F<\/span>\/ <span class=\"s1\">'{print $NF}'<\/span><span class=\"si\">)<\/span>\n    open <span class=\"s2\">\"https:\/\/github.com\/feliperocha93\/<\/span><span class=\"nv\">$REPO_NAME<\/span><span class=\"s2\">\"<\/span>\n  <span class=\"k\">fi<\/span>\n<span class=\"o\">}<\/span>\n<\/code><\/pre>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"5_%D8%B1%D9%88%D8%A7%D8%A8%D8%B7_%D8%B9%D9%85%D9%88%D9%85%DB%8C_%D8%B3%D8%B1%DB%8C%D8%B9\"><\/span>\n<p>  5: \u0631\u0648\u0627\u0628\u0637 \u0639\u0645\u0648\u0645\u06cc \u0633\u0631\u06cc\u0639<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0633\u0627\u062e\u062a \u0628\u0631 \u0631\u0648\u06cc <strong>\u062a\u0627\u0628\u0639 4<\/strong> \u0648 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0646\u0627\u0645 \u0645\u0633\u062a\u0639\u0627\u0631 ZSH\u060c \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0628\u0627\u0632 \u06a9\u0631\u062f\u0646 \u0631\u0648\u0627\u0628\u0637 \u0639\u0645\u0648\u0645\u06cc \u0628\u0627 \u06cc\u06a9 commit \u062f\u0627\u0631\u0645\u060c \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <em>fast_pr<\/em> \u062a\u0627\u0628\u0639:\n<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"k\">function <\/span>fast_pr <span class=\"o\">{<\/span>\n  gaa<span class=\"p\">;<\/span>\n  gcmsg <span class=\"s2\">\"<\/span><span class=\"nv\">$1<\/span><span class=\"s2\">\"<\/span><span class=\"p\">;<\/span>\n  gpp<span class=\"p\">;<\/span>\n<span class=\"o\">}<\/span>\n\n<span class=\"c\"># usage example<\/span>\nfast_pr <span class=\"s2\">\"chore: update zsh function\"<\/span>\n<\/code><\/pre>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"6_%D8%A7%D8%B9%D8%AA%D8%A8%D8%A7%D8%B1%D9%86%D8%A7%D9%85%D9%87_%D9%87%D8%A7_%D8%B1%D8%A7_%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA_%D9%88_%D8%B5%D8%A7%D8%AF%D8%B1_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  6: \u0627\u0639\u062a\u0628\u0627\u0631\u0646\u0627\u0645\u0647 \u0647\u0627 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0648 \u0635\u0627\u062f\u0631 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u06cc\u0646 \u0627\u062d\u062a\u0645\u0627\u0644\u0627 \u067e\u06cc\u0686\u06cc\u062f\u0647 \u062a\u0631\u06cc\u0646 \u0648 \u0635\u0631\u0641\u0647 \u062c\u0648\u06cc\u06cc \u062f\u0631 \u0632\u0645\u0627\u0646 \u062f\u0631 \u0627\u06cc\u0646 \u0633\u0631\u06cc \u0627\u0632 \u062a\u0627\u0628\u0639 \u0627\u0633\u062a <strong>8 \u0639\u0645\u0644\u06a9\u0631\u062f<\/strong>. \u0645\u062a\u063a\u06cc\u0631\u0647\u0627 \u062a\u0627 \u062d\u062f\u0648\u062f\u06cc \u067e\u0648\u0634\u0627\u0646\u062f\u0647 \u0634\u062f\u0647 \u0627\u0646\u062f\u060c \u0632\u06cc\u0631\u0627 \u0644\u0627\u0632\u0645 \u0646\u06cc\u0633\u062a \u0646\u0627\u0645 \u0648\u0627\u0642\u0639\u06cc \u0622\u0646\u0647\u0627 \u0646\u0634\u0627\u0646 \u062f\u0627\u062f\u0647 \u0634\u0648\u062f\u060c \u0627\u0645\u0627 \u0645\u062b\u0627\u0644 \u0628\u0627\u06cc\u062f \u0628\u0631\u0627\u06cc \u062a\u0648\u0636\u06cc\u062d \u0645\u0641\u0647\u0648\u0645 \u06a9\u0627\u0641\u06cc \u0628\u0627\u0634\u062f.<\/p>\n<p>\u0627\u0633\u0627\u0633\u0627\u064b \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0627\u06cc \u06a9\u0647 \u0645\u0646 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062d\u0644\u06cc \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u06a9\u0646\u0645 \u0628\u0647 \u0686\u0646\u062f\u06cc\u0646 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u06a9\u0647 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u062f\u0627\u0631\u0646\u062f \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0631\u062f. \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u0639\u062a\u0628\u0627\u0631\u0646\u0627\u0645\u0647 \u0647\u0627 \u0631\u0627 \u0627\u0632 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637\u06cc \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u0627\u06cc\u0646\u060c <em>get_credentials<\/em> \u062a\u0627\u0628\u0639 \u0645\u0646 \u0631\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u062e\u0637 \u0641\u0631\u0645\u0627\u0646 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0627\u0639\u062a\u0628\u0627\u0631\u0646\u0627\u0645\u0647 \u0647\u0627 \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc \u06a9\u0646\u062f.\n<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"k\">function <\/span>get_credentials <span class=\"o\">{<\/span>\n  <span class=\"c\"># some command to get credentials<\/span>\n  <span class=\"nv\">credentials<\/span><span class=\"o\">=<\/span><span class=\"si\">$(<\/span>foo <span class=\"nt\">--bar<\/span><span class=\"si\">)<\/span><span class=\"p\">;<\/span> \n\n  <span class=\"c\"># in this example, credentials is a string like <\/span>\n  <span class=\"c\"># username:username password:password <\/span>\n  <span class=\"c\"># and awk method are extracting the value<\/span>\n\n  <span class=\"nb\">export <\/span><span class=\"nv\">USERNAME<\/span><span class=\"o\">=<\/span><span class=\"si\">$(<\/span><span class=\"nb\">echo<\/span> <span class=\"nv\">$credentials<\/span> | <span class=\"nb\">awk<\/span> <span class=\"nt\">-F<\/span><span class=\"s1\">'username: '<\/span> <span class=\"s1\">'{print $2}'<\/span> | <span class=\"nb\">tr<\/span> <span class=\"nt\">-d<\/span> <span class=\"s1\">'[:space:]'<\/span><span class=\"si\">)<\/span><span class=\"p\">;<\/span>\n  <span class=\"nb\">export <\/span><span class=\"nv\">PASSWORD<\/span><span class=\"o\">=<\/span><span class=\"si\">$(<\/span><span class=\"nb\">echo<\/span> <span class=\"nv\">$credentials<\/span> | <span class=\"nb\">awk<\/span> <span class=\"nt\">-F<\/span><span class=\"s1\">'password: '<\/span> <span class=\"s1\">'{print $2}'<\/span> | <span class=\"nb\">tr<\/span> <span class=\"nt\">-d<\/span> <span class=\"s1\">'[:space:]'<\/span><span class=\"si\">)<\/span><span class=\"p\">;<\/span>\n\n  <span class=\"nb\">export <\/span><span class=\"nv\">REDIS_HOST<\/span><span class=\"o\">=<\/span>localhost\n  <span class=\"nb\">export <\/span><span class=\"nv\">REDIS_PORT<\/span><span class=\"o\">=<\/span>6379\n\n  <span class=\"nb\">echo<\/span> <span class=\"nv\">$USERNAME<\/span> <span class=\"nv\">$PASSWORD<\/span>\n<span class=\"o\">}<\/span>\n<\/code><\/pre>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"7_Dependencies_%D8%B1%D8%A7_%D9%86%D8%B5%D8%A8_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  7: Dependencies \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0647\u0646\u06af\u0627\u0645 \u06a9\u0627\u0631 \u0628\u0631 \u0631\u0648\u06cc \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u067e\u0633 \u0627\u0632 \u0645\u062f\u062a \u0632\u0645\u0627\u0646 \u0637\u0648\u0644\u0627\u0646\u06cc\u060c \u0645\u0647\u0645 \u0627\u0633\u062a \u06a9\u0647 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0627\u0632 \u0628\u0631\u062e\u06cc \u0645\u0634\u06a9\u0644\u0627\u062a \u0646\u0627\u0633\u0627\u0632\u06af\u0627\u0631\u06cc \u062f\u0631 \u0637\u0648\u0644 \u062a\u0648\u0633\u0639\u0647 \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u06a9\u0646\u06cc\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0645\u0646 \u0647\u0645\u06cc\u0634\u0647 \u0633\u0639\u06cc \u0645\u06cc \u06a9\u0646\u0645 \u0634\u0639\u0628\u0647 \u0645\u062d\u0644\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u0634\u0639\u0628\u0647 \u0627\u0635\u0644\u06cc \u0628\u0647 \u0631\u0648\u0632 \u0646\u06af\u0647 \u062f\u0627\u0631\u0645.\n<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"k\">function <\/span>start <span class=\"o\">{<\/span>\n  <span class=\"nv\">BRANCH<\/span><span class=\"o\">=<\/span><span class=\"si\">$(<\/span>git branch <span class=\"nt\">--show-current<\/span><span class=\"si\">)<\/span><span class=\"p\">;<\/span>\n\n  <span class=\"k\">function <\/span>update_and_install <span class=\"o\">{<\/span>\n    git pull<span class=\"p\">;<\/span>\n    nvm use<span class=\"p\">;<\/span>\n    npm ci<span class=\"p\">;<\/span>\n  <span class=\"o\">}<\/span>\n\n  <span class=\"k\">if<\/span> <span class=\"o\">[<\/span> <span class=\"nv\">$BRANCH<\/span> <span class=\"o\">!=<\/span> <span class=\"s1\">'master'<\/span> <span class=\"o\">]<\/span><span class=\"p\">;<\/span> <span class=\"k\">then\n    <\/span>git checkout master<span class=\"p\">;<\/span>\n    update_and_install<span class=\"p\">;<\/span>\n    git checkout <span class=\"nv\">$BRANCH<\/span><span class=\"p\">;<\/span>\n    <span class=\"k\">return<\/span><span class=\"p\">;<\/span>\n  <span class=\"k\">fi\n\n <\/span>update_and_install<span class=\"p\">;<\/span>\n<span class=\"o\">}<\/span>\n<\/code><\/pre>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D9%BE%D8%A7%D8%AF%D8%A7%D8%B4_%D9%86%D8%A7%D9%85_%D9%85%D8%B3%D8%AA%D8%B9%D8%A7%D8%B1\"><\/span>\n<p>  \u067e\u0627\u062f\u0627\u0634: \u0646\u0627\u0645 \u0645\u0633\u062a\u0639\u0627\u0631<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0645\u0646 \u0645\u06cc \u062f\u0627\u0646\u0645 \u06a9\u0647 \u0646\u0627\u0645 \u0645\u0633\u062a\u0639\u0627\u0631 \u062f\u0642\u06cc\u0642\u0627\u064b \u062a\u0648\u0627\u0628\u0639 \u0646\u06cc\u0633\u062a\u0646\u062f\u060c \u0627\u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0647 \u0634\u0645\u0627 \u062f\u0631 \u0635\u0631\u0641\u0647 \u062c\u0648\u06cc\u06cc \u062f\u0631 \u0632\u0645\u0627\u0646 \u06a9\u0645\u06a9 \u06a9\u0646\u0646\u062f. \u062f\u0631 \u0645\u062b\u0627\u0644 \u0647\u0627\u06cc \u0632\u06cc\u0631\u060c \u0645\u0646 \u0627\u0632 \u0628\u0631\u062e\u06cc \u0646\u0627\u0645 \u0647\u0627\u06cc \u0645\u0633\u062a\u0639\u0627\u0631 \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0645\u06a9\u0631\u0631 \u0628\u0627 \u06a9\u0644\u0645\u0627\u062a \u06a9\u0648\u062a\u0627\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u0645.\n<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"c\"># browse to folder<\/span>\n<span class=\"nb\">alias <\/span><span class=\"nv\">deployments<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"cd ~\/Documents\/deployments\"<\/span>\n<span class=\"nb\">alias <\/span><span class=\"nv\">feliperocha<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"cd ~\/Documents\/feliperocha\"<\/span>\n\n<span class=\"c\"># browse to folder and list projects<\/span>\n<span class=\"nb\">alias <\/span><span class=\"nv\">projects<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"cd <\/span><span class=\"nv\">$HOME<\/span><span class=\"s2\">\/Documents\/projects &amp;&amp; ls -a\"<\/span>\n\n<span class=\"c\"># open a specific folder<\/span>\n<span class=\"nb\">alias <\/span><span class=\"nv\">XPTO<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"cd ~\/Documents\/XPTO; open .\"<\/span>\n<\/code><\/pre>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D9%86%D8%AA%DB%8C%D8%AC%D9%87_%DA%AF%DB%8C%D8%B1%DB%8C\"><\/span>\n<p>  \u0646\u062a\u06cc\u062c\u0647 \u06af\u06cc\u0631\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0645\u0645\u0646\u0648\u0646 \u06a9\u0647 \u062a\u0627 \u0622\u062e\u0631 \u062e\u0648\u0627\u0646\u062f\u06cc\u062f \u0642\u0635\u062f \u0645\u0646 \u0627\u0632 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06af\u0630\u0627\u0634\u062a\u0646 \u0627\u06cc\u0646 \u0639\u0645\u0644\u06a9\u0631\u062f\u0647\u0627 \u0628\u0631\u0627\u06cc \u0628\u0627\u0632 \u06a9\u0631\u062f\u0646 \u0630\u0647\u0646 \u0634\u0645\u0627 \u0648 \u0628\u0631\u0627\u0646\u06af\u06cc\u062e\u062a\u0646 \u062e\u0644\u0627\u0642\u06cc\u062a \u0634\u0645\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0639\u0645\u0644\u06a9\u0631\u062f\u0647\u0627\u06cc \u062e\u0648\u062f \u0648 \u0627\u0641\u0632\u0627\u06cc\u0634 \u0628\u0647\u0631\u0647 \u0648\u0631\u06cc \u0631\u0648\u0632\u0627\u0646\u0647 \u0634\u0645\u0627\u0633\u062a.<\/p>\n<p>\u0646\u0638\u0631 \u062e\u0648\u062f \u0631\u0627 \u062f\u0631 \u0632\u06cc\u0631 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0628\u06af\u0630\u0627\u0631\u06cc\u062f \u06a9\u0647 \u06a9\u062f\u0627\u0645 \u0639\u0645\u0644\u06a9\u0631\u062f \u0645\u0648\u0631\u062f \u0639\u0644\u0627\u0642\u0647 \u0634\u0645\u0627 \u0628\u0648\u062f \u06cc\u0627 \u062e\u0648\u062f\u062a\u0627\u0646 \u067e\u0633\u062a \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0628\u0627 \u0627\u062d\u062a\u0631\u0627\u0645\u060c<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Summarize this content to 400 words in Persian Lang \u0645\u0642\u062f\u0645\u0647 \u062a\u0648\u0627\u0628\u0639 \u067e\u0648\u0633\u062a\u0647 \u0647\u0633\u062a\u0646\u062f \u0627\u0628\u0632\u0627\u0631 \u0642\u062f\u0631\u062a\u0645\u0646\u062f \u06a9\u0647 \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u0648\u0638\u0627\u06cc\u0641 \u0631\u0627 \u062e\u0648\u062f\u06a9\u0627\u0631 \u06a9\u0646\u06cc\u062f\u060c \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u062e\u0648\u062f \u0631\u0627 \u0633\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0627\u0641\u0632\u0627\u06cc\u0634 \u0628\u0647\u0631\u0647 \u0648\u0631\u06cc \u0628\u0627 \u06a9\u0627\u0647\u0634 \u06a9\u0627\u0631\u0647\u0627\u06cc \u062f\u0633\u062a\u06cc \u062a\u06a9\u0631\u0627\u0631\u06cc \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc \u067e\u0648\u0633\u062a\u0647 \u0622\u0634\u0646\u0627\u06cc\u06cc \u062f\u0627\u0631\u0646\u062f\u060c \u0627\u0645\u0627 \u0645\u0639\u0645\u0648\u0644 \u0646\u06cc\u0633\u062a \u06a9\u0647 \u0628\u0628\u06cc\u0646\u06cc\u0645 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":73582,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-73581","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/73581","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=73581"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/73581\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/73582"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=73581"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=73581"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=73581"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}