在我工作的一臺服務器上,我們必須以root用戶身份登錄(因爲我不會進入這裏)。我們有一個用於Web服務器的git存儲庫,但由於文件是以root身份創建的,因此git修改的文件具有錯誤的權限。修復git合併後的權限
我創建了一個令人難以置信的簡單的合併後掛鉤,我認爲這會解決問題。
#!/bin/bash
. git-sh-setup
chown -R www-data:www-data $GIT_DIR
我放棄了到這個.git/hooks/post-merge
具有執行權限,但是文件似乎永遠不會運行。這是我第一次試圖設置鉤子,所以也許我錯過了一些明顯的東西。
我注意到的一件事是,大多數鉤子有一個.sample
文件,而合併後沒有。 (git版本1.7.4)
在此先感謝!
你嘗試添加一個'echo'或以確保它沒有運行寫'tmp'文件?爲什麼'合併後'(在git pull上)而不是'post-receive'(在'git push'上)?如果你不直接在服務器上執行'git pull',那個特定的鉤子('合併後的')將不會運行。什麼'。 git-sh-setup'行應該這樣做? – VonC 2011-06-09 20:20:21
我曾嘗試編寫一個臨時文件。它似乎沒有被執行。我直接在服務器上拉。我的理解是,git-sh-setup準備了必要的環境變量。 – 2011-06-09 20:47:14
你可以發佈你在拉動時使用的實際命令嗎(並期望腳本可以運行)嗎? – 2011-06-10 11:59:06