[英]How to chown/chmod after tag checkout in git?
在實時環境中,我需要獲取標簽並在它們之間切換。 每次切換之后,我需要對工作樹中的所有文件進行chown / chmod。
我已經創建了一個post-checkout
掛鈎
#!/bin/bash
chown -R www-data:www-data public/
find public/ -type f -exec chmod 400 {} \;
find public/ -type d -exec chmod 500 {} \;
.git
目錄不在公共目錄之外,因此我在git配置中添加了以下內容。
worktree = /var/www/site/public
現在我執行以下命令
# git fetch --tags
# git checkout 0.0.1
但是不會執行post-checkout
掛鈎。 怎么了?
另一個問題:掛鈎的相對路徑是什么? 是.git
所在的.git
還是public/
?
檢查您的.git/hooks/post-checkout
是否設置了可執行標志,否則請執行chmod +x .git/hooks/post-checkout
。 掛鈎的當前工作目錄作為存儲庫根目錄( .git
所在的.git
)。
您可以通過編寫一個非常簡單的鈎子來驗證鈎子是否已被實際執行,以及它的當前工作目錄
#!/bin/sh
pwd
echo "This is post-checkout hook"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.