簡體   English   中英

如何在git中簽出標簽后如何chown / chmod?

[英]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.

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