扫码或搜索:进击的Coder

发送

即可立即永久解锁本站全部文章

最近工作遇到了一个问题。对我们公司的开发小组来说,整个小组的人员都在一个 Repository 下面协作,这个 Repository 里面的文件夹非常多,而我只负责其中的一个功能的开发,我开发的功能所在的文件夹是可以独立维护的,它不依赖于 Repository 里面的其他的任何一个文件夹。

现在我新招到了一位实习生,会跟我一同做这个功能。但很尴尬的是,原则上来说实习生是不能有整个 Repository 的权限的,因为其他的文件夹下可能有包含一些关键信息,那我又怎么把我的这一部分的代码共享给他呢?

有的小伙伴可能说可以用软连接,但是用软连接的话实际上是不行的,因为 git 在 commit 软连接的时候会把它当成文件对待的。

比如说我有一个文件夹啊,我创建了一个软连接到这个文件夹,创建的链接文件实际上是不能以文件夹的形式提交到 Git 仓库的。

那么怎么办呢?硬链接就好了。

我使用的是 Mac OS 系统,可选的方案有 hln、bindfs,但前者是不能链接文件夹的。

一个比较可行的方案就是使用 bindfs,安装方法如下:

然后使用如下命令即可:

这样的话,比如我大库里面有个文件夹,名字叫做 foo,我就可以在我其他的目录下创建一个对该目录的挂载点 bar。

这样我在 project1 下修改 foo 文件夹下的内容,project2 下的 bar 文件夹下的内容也会跟着修改了,我只需要把想要链接的文件夹都放在 project2 下,project2 作为一个独立的 Git 仓库,实习生只能看到我分离出来的内容,看不到大库 project1 下的内容。

这样如果实习生更新了 project2 的 bar 文件夹,提交到了 project2 对应的 Git 仓库,我从上面 pull 下代码,这样 project1 里面的 foo 文件夹也会跟着更新了,这样我再把新的改动提交到 project1 即可。

转载请注明:静觅 » 如何分离 Git 子目录

更多文章、联系博主、技术交流、商务合作

扫码或搜索:进击的Coder

进击的Coder

微信公众号 扫一扫关注

喜欢 (15)or分享 (0)

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击下面的

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 你真是用织梦搭建的吧?
    sktone2019-11-22 13:58 回复