从私有 GitHub 存储库下载单个 file/folder(它包含多个文件夹)

Download single file/folder from a Private GitHub repository (it contains multiple folders)

如何从 GitHub 上托管的私有 GitHub 存储库下载单个 file/folder。 存储库结构就像

AndroidApps/
├── FirstAnimation/ 
│   ├── app
│   └── build.gradle
|   └── gradle.properties
|   └── ...
|
└── NavigationHelp/
|   ├── app
|   └── build.gradle
|   └── gradle.properties
|   └── ...
|
└── ChatApp/
    ├── app
    └── build.gradle
    └── gradle.properties
    └── ...

我只想下载 NavigationHelp 文件夹,而不是克隆整个 AndroidApps 项目。

note-(previously answer given on Stack overflow related to public folder which does not work for private repo)

git clone -n --filter=tree:0 git@github.com:your/AndroidApps
cd AndroidApps                   # <--- forgot this line the first time, oops
git read-tree -um @:NavigationHelp

将为您提供那个文件夹和其余历史的最简略草图。为了使未来的拉动工作,

git checkout -b sliced/NavigationHelp
git config branch.sliced/NavigationHelp.merge @{-1}@{u}
git config branch.sliced/NavigationHelp.mergeoptions -Xsubtree=NavigationHelp

这会让您拉取更新但不会合并回 上游分支。 阅读我在上面使用的命令和语法,您将学会调整它以检查其他任何内容。

要合并回 上游分支,您要么必须获取它并自己进行合并,要么说服 GitHub 支持在其上完成的子树合并服务器,(如果他们还没有,我从来没有调查过)。