簡體   English   中英

無法符號鏈接到.git目錄

[英]Unable to symlink to the .git directory

這可能是愚蠢的事情,但搜索我無法找到答案。 我正在嘗試為我的git項目設置預提交掛鈎,以便腳本可以與源一起進行版本控制。

它似乎支持符號鏈接和方法。 當我嘗試使用.git目錄中的任何內容時,我收到錯誤“沒有這樣的文件或目錄”。 關於.git目錄的設置方式有什么奇怪的嗎? 我正在通過Windows上的cygwin這樣做,以防萬一。

例如,我用來設置符號鏈接的腳本如下所示:

#/bin/bash

HOOK_NAMES="pre-commit post-commit"
THIS_SCRIPT_DIR=$(dirname $0)
HOOK_DIR=$THIS_SCRIPT_DIR/../.git/hooks

for hook in $HOOK_NAMES; do
    ln -s -f $THIS_SCRIPT_DIR/git-hooks/$hook $HOOK_DIR/$hook
done

謝謝,

====

后續:這似乎是Cygwin的問題,盡管我找不到解釋它的文檔。 這在Linux和OS X上運行良好.Cygwin在隱式隱藏文件夾(.prefixed)中創建符號鏈接時遇到問題。 如果有人知道為什么我會高興地將這個解釋標記為答案。

我不知道為什么這在Cygwin中不起作用(對我來說似乎是一個bug)但是如果其他人有同樣的問題,我可以通過從.git文件夾內創建符號鏈接來解決它。 因此,例如,從命令行,您將轉到.git / hooks文件夾:

> cd .git/hooks

然后創建鏈接

> ln -s ../../git-hooks/pre-commit pre-commit

您似乎正在嘗試從存儲庫本身符號鏈接您的.git/hooks 我不認為這是Git支持的,這可以解釋你遇到的錯誤。

這個答案提出了其他方法,其中大多數建議采用其他方式(將.git/hooks 作為符號鏈接)。 你可能會找到一個最適合你的。

暫無
暫無

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

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