diff --git a/tasks/collect_config/commit/git.yml b/tasks/collect_config/commit/git.yml
index a48a9d7bfa17e6f7e09fcd967a37095fb2c7d2e1..e7d473fe89098ad53f1ec3295fd3f1742886d2f1 100644
--- a/tasks/collect_config/commit/git.yml
+++ b/tasks/collect_config/commit/git.yml
@@ -1,5 +1,5 @@
 ---
-# file: roles/drupal/tasks/config_collect/commit/gitcomposer.yml
+# file: roles/drupal/tasks/config_collect/commit/git.yml
 
 - block:
 
diff --git a/tasks/collect_config/commit/gitextra.yml b/tasks/collect_config/commit/gitextra.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a06a15985e2af45bbb0c1b2dab7679c638798356
--- /dev/null
+++ b/tasks/collect_config/commit/gitextra.yml
@@ -0,0 +1,28 @@
+---
+# file: roles/drupal/tasks/config_collect/commit/gitextra.yml
+
+- block:
+
+  - name: "Check Git Status"
+    shell: 'git status -s'
+    args:
+      chdir: '{{ webRoot }}/{{ collect_config_key }}'
+    become: false
+    register: git_status
+
+  - block:
+
+    - name: "Add and commit files"
+      shell: 'git {{ item }}'
+      args:
+        chdir: '{{ webRoot }}/{{ collect_config_key }}'
+      become: false
+      with_items:
+        - 'add config/*'
+        - 'config user.email "deployment@lakedrops.com"'
+        - 'config user.name "Auto Config Export"'
+        - 'commit -am "[ci skip] Config change on server"'
+
+    when: git_status.stdout != ''
+
+  tags: 'deploy'
diff --git a/tasks/collect_config/finish/gitextra.yml b/tasks/collect_config/finish/gitextra.yml
new file mode 100644
index 0000000000000000000000000000000000000000..39bc5981e55a295d1d717d06c5c7293be9ce66ae
--- /dev/null
+++ b/tasks/collect_config/finish/gitextra.yml
@@ -0,0 +1,18 @@
+---
+# file: roles/drupal/tasks/config_collect/finish/gitextra.yml
+
+- block:
+
+  - name: "Push"
+    shell: 'git push'
+    args:
+      chdir: '{{ webRoot }}/{{ collect_config_key }}'
+    become: false
+    when: git_status.stdout != ''
+
+  - name: "Delete webroot working copy"
+    file:
+      path: '{{ webRoot }}'
+      state: absent
+
+  tags: 'deploy'
diff --git a/tasks/collect_config/main.yml b/tasks/collect_config/main.yml
index 7920eaa596ec4c16524572d2cbaf74df872730f0..7aab5792d2944ff9c4a4aa6daa53605358d495c6 100644
--- a/tasks/collect_config/main.yml
+++ b/tasks/collect_config/main.yml
@@ -6,11 +6,11 @@
   - set_fact:
       version='{{ lookup('pipe','date +%Y-%m-%d-%H-%M-%S') }}'
   - set_fact:
-      webRoot='/tmp/ansible-cae-{{ drupal.jail.name }}-{{ version }}-gitflow'
+      webRoot='/tmp/ansible-cae-{{ drupal.id }}-{{ version }}-gitflow'
   - set_fact:
-      pathConfig='{{ webRoot }}/config/default/sync'
+      pathConfig='{{ webRoot }}/{{ collect_config_key|default("config") }}/default/sync'
       pathExport='{{ export_path }}'
-      pathWorking='/tmp/ansible-cae-{{ drupal.jail.name }}-{{ version }}'
+      pathWorking='/tmp/ansible-cae-{{ drupal.id }}-{{ version }}'
       collectConfig={{ drupal.src.collectConfig|default([]) }}
 
   - name: "Check if export path exists"
diff --git a/tasks/collect_config/prepare/gitextra.yml b/tasks/collect_config/prepare/gitextra.yml
new file mode 100644
index 0000000000000000000000000000000000000000..775056c6bc6fc04aa634eed0447e0549928214bb
--- /dev/null
+++ b/tasks/collect_config/prepare/gitextra.yml
@@ -0,0 +1,25 @@
+---
+# file: roles/drupal/tasks/config_collect/prepare/gitextra.yml
+
+- block:
+
+  - name: "Clone Git Repository"
+    git:
+      accept_hostkey: yes
+      repo: '{{ drupal.src.git.extrarepos[item] }}'
+      dest: '{{ webRoot }}/{{ item }}'
+      force: yes
+      version: '{{ drupal.src.git.branch|default(omit) }}'
+    become: false
+    with_items: '{{ drupal.src.git.extrarepos|default([]) }}'
+    when: collect_config_key == item
+
+  - name: "Create Git Hook for commit message"
+    copy:
+      content: |
+        #!/bin/sh
+        echo "[ci skip]" >>$1
+      dest: '{{ webRoot }}/{{ collect_config_key }}/.git/hooks/prepare-commit-msg'
+      mode: '0777'
+
+  tags: 'deploy'