diff --git a/src/create_hooks.rs b/src/create_hooks.rs
index 7e98eed7b1cf417e168d272e73f9f461a06994d0..7f6d642816eb96612da8cf20ad3fbbe581cd8fe6 100644
--- a/src/create_hooks.rs
+++ b/src/create_hooks.rs
@@ -33,6 +33,7 @@ fn get_hooks_folder() -> PathBuf {
     }
     let mut p = PathBuf::from(&string_path);
     p.push(".git");
+    p.push("hooks");
     if !p.is_dir() {
         eprintln!("Folder {} not found !", p.to_str().unwrap());
         exit(5);
@@ -56,7 +57,7 @@ fn create_file(folder: &PathBuf, file_name: &str, content: &str) {
         );
         return ();
     }
-    let mut file = File::open(&hfile).unwrap_or_else(|e| {
+    let mut file = File::create(&hfile).unwrap_or_else(|e| {
         eprintln!(
             "Unable to create the file {}.\n{}",
             hfile.to_str().unwrap(),
@@ -75,7 +76,7 @@ fn create_file(folder: &PathBuf, file_name: &str, content: &str) {
 }
 
 /// Create 3 files in `.git/hooks` folder
-/// 
+///
 /// 1. Create pre-commit hook
 /// 2. Create pre-checkout hook
 /// 3. Create post-checkout hook
@@ -86,8 +87,8 @@ pub fn create_hooks(compression: &str) {
     let pre_co_cmd = "gbl pre-co";
     let post_co_cmd = "gbl checkout";
     let v = vec![pre_commit_cmd, pre_co_cmd, post_co_cmd];
-    let file_name = vec!["pre-commit", "pre-checkout", "post-checkout"];
-    for (fname, c_cmd) in v.iter().zip(file_name.iter()) {
+    let file_name = vec!["post-commit", "pre-checkout", "post-checkout"];
+    for (c_cmd, fname) in v.iter().zip(file_name.iter()) {
         let content = format!(
             "#!/bin/sh \n\
         \n\