diff --git a/src/create_hooks.rs b/src/create_hooks.rs
index 1cbede191fa5c23143a6d0db5fa5955e346e00f5..1727703a2b9a62e1d042811d53c2d62bfdfdcaa0 100644
--- a/src/create_hooks.rs
+++ b/src/create_hooks.rs
@@ -83,10 +83,9 @@ fn create_file(folder: &PathBuf, file_name: &str, content: &str) {
     });
 }
 
-/// Create 3 files in `.git/hooks` folder
+/// Create 2 files in `.git/hooks` folder
 ///
 /// 1. Create post-commit hook
-/// 2. Create pre-checkout hook
 /// 3. Create post-checkout hook
 ///
 /// # Arguments
@@ -96,11 +95,16 @@ pub fn create_hooks(compression: &str, mode: &str) {
     let git_folder = get_hooks_folder();
     let post_commit_cmd = format!("gblk commit --compression {}", &compression);
     let post_commit_cmd = post_commit_cmd.as_str();
-    let pre_co_cmd = "gblk pre-co";
-    let post_co_cmd = format!("gblk checkout --mode {}", mode);
+    let post_co_cmd = format!("res=$(git reflog show | grep 'HEAD@{{0}}' | tr ' ' '\\n') \n\
+    arr=(${{res// / }}) \n\
+    original_commit=${{arr[5]}} \n\
+    target_commit=${{arr[7]}} \n\
+    \n
+    git -c core.hooksPath=/dev/null checkout ${{original_commit}} && gblk pre-co && git -c core.hooksPath=/dev/null checkout ${{target_commit}} && gblk co --mode {}
+    ", mode);
     let post_co_cmd = post_co_cmd.as_str();
-    let v = vec![post_commit_cmd, pre_co_cmd, post_co_cmd];
-    let file_name = vec!["post-commit", "pre-checkout", "post-checkout"];
+    let v = vec![post_commit_cmd, post_co_cmd];
+    let file_name = vec!["post-commit", "post-checkout"];
     for (c_cmd, fname) in v.iter().zip(file_name.iter()) {
         let content = format!(
             "#!/bin/sh \n\