Jak*_*ski 73
表示Git中目录的"tree"对象存储文件名和(权限子集)权限.它不存储inode编号(或其他类型的文件ID).因此,硬链接 不能用git表示,至少不能没有第三方工具,例如metastore或git-cache-meta(我不确定即使使用这些工具也是如此).
Git试图不触及它不需要更新的文件,但你必须考虑到git不会试图保留硬链接,所以它们可以被git打破.
关于指向存储库外部的符号链接:git没有问题,应该保留符号链接的内容......但是这些链接的实用程序对我来说是不确定的,因为这些符号链接是否会被破坏取决于git存储库之外的文件系统布局,而不是git的控制.
Nil*_*oct 19
好的,现在这是迟到的回复= D.
我发现,使用钩子,你可以捕获git pull事件(当有什么东西要拉...时)将脚本事件处理程序写入.git/hooks/post-merge文件.
首先,你必须这样chmod +x做.
然后,将ln命令放在其中以在每次拉动时重新创建硬链接.干嘛!
它工作,我只需要我的项目,并ls -i显示文件后自动链接pull.
我的例子.git/hooks/post-merge:
#!/bin/sh
ln -f $GIT_DIR/../apresentacao/apresentacao.pdf $GIT_DIR/../capa/apresentacao.pdf
ln -f $GIT_DIR/../avaliacoesMono/avaliacao_monografias_2011_Nilo.pdf $GIT_DIR/../capa/avaliacoes.pdf
ln -f $GIT_DIR/../posters/poster_Nilo_sci.pdf $GIT_DIR/../capa/poster.pdf
ln -f $GIT_DIR/../monografia/monografia_Nilo.pdf $GIT_DIR/../capa/monografia_Nilo.pdf
Run Code Online (Sandbox Code Playgroud)
重要信息:如您所见,存储库中任何文件的路径都应该以该文件开头$GIT_DIR,然后添加文件的部分相对路径.
同样重要的是:-f是必要的,因为您正在重新创建目标文件.
| 归档时间: |
|
| 查看次数: |
34658 次 |
| 最近记录: |