diff --git a/scripts/push_subtree.sh b/scripts/push_subtree.sh
new file mode 100755
index 0000000000000000000000000000000000000000..3c1dd6877cfb233dc03b1b3843c87f1cf9ecc345
--- /dev/null
+++ b/scripts/push_subtree.sh
@@ -0,0 +1,35 @@
+#!/bin/bash - 
+#===============================================================================
+#
+#          FILE: pull_subtree.sh
+# 
+#         USAGE: ./pull_subtree.sh 
+# 
+#   DESCRIPTION: 
+# 
+#       OPTIONS: ---
+#  REQUIREMENTS: ---
+#          BUGS: ---
+#         NOTES: ---
+#        AUTHOR: Dilawar Singh (), dilawars@ncbs.res.in
+#  ORGANIZATION: NCBS Bangalore
+#       CREATED: 05/18/2016 01:11:59 PM
+#      REVISION:  ---
+#===============================================================================
+
+set -o nounset                              # Treat unset variables as an error
+set -e
+set -x
+
+if [[ `pwd` == *"/moose" ]]; then
+
+    git subtree push --prefix moose-core \
+        https://github.com/BhallaLab/moose-core master --squash
+    git subtree push --prefix moose-examples \
+        https://github.com/BhallaLab/moose-examples master --squash 
+    git subtree push --prefix moose-gui \
+        https://github.com/BhallaLab/moose-gui master --squash
+
+else
+    echo "Run this script from top-level git directory."
+fi