我有以下问题无法解决:
我的本地机器上有两个版本控制的目录。一个是dirA
我的很多东西,是一个我不想分享的私人回购。另一个是dirB
,一个小的公共仓库,里面有我想分享的文件,主要是给别人克隆和拉取,所有的变化都来自我。
问题是dirB
保存所有来自 的文件dirA
,它基本上是它的一个子集,dirA
尽管它具有另一种结构。
每当我修改的文件dirA
是同样的dirB
,我想更新dirB
,然后将更新文件推送到公共回购。
我尝试使用rsync
,unison
但每次更新我提到的特定文件时都必须手动完成,这不是很有效。我收集了 git 子模块或钩子可以帮助我,但我不明白我应该使用什么工具。
实质上,我有:
dirA/ (larger private repo with my stuff)
|
|--- file1
|
|--- file2
.
.
.--- fileN
和
dirB/ (public repo that I want to update only when the relevant files from dirA are updated)
|
|--- SubjectA/
| |
| |--- file3
|
|--- SubjectB/
|
|--- file11
.
.
理想情况下,我希望当我dirA
在本地更新并推送到远程时,dirB
也会在本地更新,然后也将其推送到远程。
我怎样才能做到这一点?
谢谢。
由于您的要求是保持文件同步并且还能够推送真实文件(而不是普通链接),您可以简单地为感兴趣的文件创建硬链接。
您可以按如下方式创建硬链接:
ln <src-file-path> <path-to-the-link>
这应该为您的文件创建一个硬链接,原始文件中的任何更改都会反映在新创建的文件中,并且推送到存储库会产生真正的文件,而不是链接。
注意:确保您不提供-s
开关,因为它会创建一个软链接。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句