diff --git a/platform/verify.provision.inc b/platform/verify.provision.inc
index 11bd3a2..9c5b96b 100644
--- a/platform/verify.provision.inc
+++ b/platform/verify.provision.inc
@@ -61,6 +61,37 @@ function drush_provision_drupal_pre_provision_verify() {
           "Could not download platform using drush make. No platform present");
       }
     }
+    // If the root folder doesn't exist but a git_remote does, git clone.
+    else if (!provision_file()->exists(d()->root)->status() && !empty(d()->git_remote)) {
+      drush_log(dt("Platform path does not exist, cloning from !git", array('!git' => d()->git_remote)));
+      
+      $git_remote = d()->git_remote;
+      $git_branch = d()->git_branch;
+      $root = d()->root;
+      
+      // Build the command string
+      $cmd = "git clone $git_remote $root";
+      if ($git_branch) {
+        $cmd .= " --branch $git_branch";
+      }
+      
+      // Execute
+      drush_shell_exec_interactive($cmd);
+    }
+    // If the root DOES exist, and there is a specified git_branch, check it out.
+    else if (provision_file()->exists(d()->root)->status() && !empty(d()->git_branch)) {
+      $git_branch = d()->git_branch;
+      $root = d()->root;
+      
+      // Build the command string
+      $cmd = "git checkout $git_branch";
+      if ($git_branch) {
+        $cmd .= " --branch $git_branch";
+      }
+      
+      // Execute
+      drush_shell_exec_interactive($root, $cmd);
+    }
 
     drush_bootstrap(DRUSH_BOOTSTRAP_DRUPAL_ROOT);
     // If we couldn't bootstrap, there's no sense in continuing past this point.
diff --git a/provision.context.platform.inc b/provision.context.platform.inc
index 9e82393..3d7acc4 100644
--- a/provision.context.platform.inc
+++ b/provision.context.platform.inc
@@ -18,11 +18,15 @@ class provisionContext_platform extends provisionContext {
       '--server' => 'platform: drush backend server; default @server_master',
       '--web_server' => 'platform: web server hosting the platform; default @server_master',
       '--makefile' => 'platform: drush makefile to use for building the platform if it doesn\'t already exist',
+      '--git_remote' => 'platform: Git remote URL to clone for the project.',
+      '--git_branch' => 'platform: Git branch to checkout if git_remote is used.',
     );
   }
 
   function init_platform() {
     $this->setProperty('root');
     $this->setProperty('makefile', '');
+    $this->setProperty('git_remote', '');
+    $this->setProperty('git_branch', '');
   }
 }
