Eu tenho duas pastas:
/home/me/code/project/
/srv/www/projectfiles/
Na /home/me/code/project
pasta, vinculei o link static
para/srv/www/projectfiles/
ie /home/me/code/project/static/
->/srv/www/projectfiles/
Quando tento confirmar agora, ele não vê nenhum dos arquivos por trás do link simbólico e, em vez disso, tenta confirmar o link simbólico como um arquivo.
Como comprometo um arquivo (por exemplo /srv/www/projectfiles/style.css
) s que está por trás do link simbólico?
git
symbolic-link
Macha
fonte
fonte
Se você estiver usando Linux, eu particularmente gosto da solução fornecida pelo GitBLSR . É uma biblioteca carregada via LD_PRELOAD que desreferencia de forma transparente links simbólicos para arquivos e pastas fora de um repositório.
Para instalá-lo para uma conta de usuário local é simples:
Isso irá compilar a biblioteca e criar um alias como o seguinte em
~/.bashrc
:O uso desse alias permite a desreferenciação de links transparentes.
fonte
Considere usar um ponto de montagem para montar a pasta de destino (à qual você atualmente faz o link simbólico) para aparecer no local em que deseja, abaixo do projeto git. Eu usei essa abordagem com sucesso.
fonte
Mova os arquivos para a pasta e remova o link simbólico. O Git não percorre links simbólicos.
Ele (e eu) assumiria que você está vinculando um conjunto de arquivos que você não controla ou não deseja modificar, portanto, eles não precisam ser versionados.
fonte
Outra solução alternativa - a única que descobri que também funciona para diretórios - é alterar a árvore de trabalho do git para as ações específicas.
fonte