【问题标题】:Download single file/folder from a Private GitHub repository (it contains multiple folders)从私有 GitHub 存储库下载单个文件/文件夹(它包含多个文件夹)
【发布时间】:2021-11-02 20:08:54
【问题描述】:

如何从托管在 GitHub 上的私有 GitHub 存储库下载单个文件/文件夹。 存储库结构是这样的

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 file github directory repository


    【解决方案1】:
    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 支持在其服务器上完成子树合并,(如果他们还没有,我从来没有调查过)。

    【讨论】:

      猜你喜欢
      • 2016-05-12
      • 1970-01-01
      • 1970-01-01
      • 2022-01-09
      • 2017-03-06
      • 2016-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多