如何告诉 git 我的本地目录是远程树中的特定目录

How to tell git that my local directory is a specific directory in the remote tree

我在 bitbucket 上有一个共享的 git 存储库,我正在其中处理项目的一部分,而其他人正在处理其他部分。所有部分都在不同的文件夹中 在 git 上,文件夹结构如下所示:

rootdir
  part_foo
  part_foo2
  part_mine

但是在我的文件系统上我的 C++ 项目的结构如下所示:

rootdir
  bin
  src
    file1.cpp
    ...
    fileN.cpp
  test_data

bintest_data 文件夹不提交,因为它们仅供我使用。

所以我想要实现的是让我的本地 src 文件夹的内容与 part_mine 文件夹的内容同步。

我都试过了 sparse-checkout and the solution proposed here,但它们都不是完美的解决方案,因为我最终在 src 文件夹(或反之亦然)中创建了 part_mine 文件夹,这对我来说是个问题。

所以我想问是否有一种方法可以告诉 git 将我的工作目录视为远程树中的一个特定目录。那就是如果我 initremote 文件夹 src 中的 git 存储库然后我可以告诉 git 我想 push/pull 在特定文件夹中(即 part_mine)并在 src 中查看其中的所有文件,反之亦然。

感谢您的帮助!

通常的解决方法是:

  • 在项目外部的某个文件夹中克隆回购协议(这里不需要稀疏签出,除非回购协议真的巨大
  • 符号链接 srcrootdir/part_mine

对于任何 git 操作,您转到您的 Repo(对于 git 添加、提交、推送)

其余的,您照常在 rootdir 工作。