2016-01-02 36 views
3

我是新的到Git版本控制系統。 我在我的Ubuntu機器上安裝了git。 只有下面的鉤子可用。Git的鉤 - 合併後掛機文件不存在

applypatch-msg.sample 
commit-msg.sample 
post-update.sample 
pre-applypatch.sample 
pre-commit.sample 
prepare-commit-msg.sample 
pre-push.sample 
pre-rebase.sample 
update.sample 

「後合併」鉤子文件在哪裏?

回答

1

的合併後鉤在commit 4623291 (git 1.5.4, Sept 2007)出臺,但從未包括了post-merge.sample文件。

diff --git a/git-merge.sh b/git-merge.sh 
index 3a01db0..66e48b3 100755 
--- a/git-merge.sh 
+++ b/git-merge.sh 
@@ -97,6 +97,19 @@ finish() { 
       fi 
       ;; 
     esac 
+ 
+  # Run a post-merge hook 
+  if test -x "$GIT_DIR"/hooks/post-merge 
+  then 
+   case "$squash" in 
+   t) 
+    "$GIT_DIR"/hooks/post-merge 1 
+    ;; 
+   '') 
+    "$GIT_DIR"/hooks/post-merge 0 
+    ;; 
+   esac 
+  fi 
} 

所以如果你需要的那個勾,你可以創建一個post-merge文件(通常位置.git/hooks/)。但你在其他地方沒有任何樣品。

commit af6fb4c做雖然增加參考post-merge樣品,通過調用:

git/git/contrib/hooks/setgitperms.perl

該腳本包括:

要恢復的權限/所有權數據,把這個腳本在你的.git/hooks目錄使post-merge鉤與下列行:

#!/bin/sh 
. git-sh-setup 
$GIT_DIR/hooks/setgitperms.perl -w 
+0

是...?非常感謝您! – UtpMahesh