2013-12-19 54 views
1

我想推的東西時添加的消息時添加一條消息,說:Git的推動誰將會拉

"Hey, you should run `bower install` after this pull" 

當有人從倉庫中拉應出現此消息。 事實上,沒有什麼比辦公室裏的尖叫更好,但我正在尋找更好的東西。

ps:在我看來,這不是一個提交消息可以解決的問題。

+0

設置後掛鉤並將其連接到像連接到揚聲器的arduino板之類的東西。 – PeeHaa

+1

您的構建系統應該做正確的事情並檢測「涼亭」的過時版本。沒有理由要求你的程序員記住什麼「涼亭」版本與你工作的HEAD兼容的所有細節。 –

+0

@TadeuszA.Kadłubowski:我說**涼亭安裝**而不是** npm安裝涼亭**。 Gruntfile.js中的一個腳本用於檢查如下內容:** newer:bower.json **應該可以解決但不是主要問題;) –

回答

1

您可以通過附加到push鉤子或pre-push掛鉤的腳本來完成。這裏的documentation

+0

我不認爲這可以解決問題。 –

1

沒有專用的拉鉤,但每拉(有內容拉入)執行合併。有一個合併後的鉤子。由於您只需在代碼庫更新時警告檢查外部組件,因此這種情況是正確的。

掛鉤您.git/hooks文件夾內只是特別命名的可執行腳本

touch .git/hooks/post-merge 
chmod u+x .git/hooks/post-merge 
vim .git/hooks/post-merge 

#!/bin/sh 
echo "Hey, you should run `bower install` after this pull" 

鉗鉤並不是庫的一部分,但並因此不分配。處理這個問題的一種方法是創建一個受控的鉤子文件夾和一個符號鏈接它們的腳本。

bin/create-hook-symlinks 
hooks/post-merge 

如果合併後的是你已經創建了文件,鏈接腳本是:

touch bin/create-hook-symlinks 
chmod u+x bin/create-hook-symlinks 
vim bin/create-hook-symlinks 

#!/bin/sh 
ln hooks/post-merge .git/hooks/post-merge 

在OS X上我不能讓軟鏈接來執行,更新到硬連接。

鏈接的問題Is there any git hook for pull?

更多信息Git hook Docs & Hook tutorial

+0

我敢肯定,你可以通過檢查ORIG_HEAD對分支的遠程跟蹤頭進行限制。 – jthill

+0

有趣的解決方案。 –