簡體   English   中英

Git發布接收掛鈎未運行

[英]Git post receive hook is not running

我搜索了所有問題,但仍然無法回答我的問題。

他們中的大多數建議設置權限,以便可以執行文件。 完成-設置為777。

傳輸協議必須不是http,而是ssh。 我希望是這樣,在git擴展中,我檢查了瀏覽存儲庫-它以git@bitbucket.org開頭,因此應該是ssh協議。

接收后簡直是這樣的:

#!/bin/sh -x

echo 'test';

git log -1 HEAD --pretty=format:"%x09%ad%x09";

touch ~/repos/develop/dashboard/test.txt;

因此,當我運行git pull時,應該執行這些命令。

我試圖將post-receive重命名為post-checkout-然后在調用git checkout時執行了該操作。

但是用git pull-后接收就像被忽略了。

還有一些提到的noexec分區。 但是我希望,如果后結帳有效,那么這也必須起作用,因為后結帳也需要執行。

我還應該檢查什么?

更新:

我將告訴您為什么選擇此鈎子,也許您可​​以提出另一種建議。

我想在git pull上調用一些鏈接,該鏈接會將當前日期保存到數據庫中。 因此,當用戶打開網站時-他可以看到該網站的最新更新時間,因此我不需要手動設置每次網站更新的時間。

更新:好的,我看到有趣的一行:

這些腳本在推送到服務器之前和之后運行。

我從編寫代碼的計算機上推送到服務器。 我的ubuntu服務器如何知道我已推送? 我是否應該將接收后的文件放入要編程和推送的計算機中? 我可以嘗試,但是以某種方式看來它不會有所幫助。

更新

嘗試將后接收放入我用來推送的計算機中,並且符合我的預期-在ubuntu服務器或計算機中均未創建test.txt。

更新

我如何實現使用合並后掛鈎的。 這是客戶端類別。 我的服務器相對於它來說是一個客戶端。 因此,當我拉到服務器時,合並完成,因此我的腳本得以執行。

這些腳本(接收前,接收后和更新)在推送到服務器之前和之后運行,而不是在客戶端運行。

因此,您需要檢查客戶端掛鈎

tldr; git pull之后沒有特定的鈎子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM