相关疑难解决方法(0)

git clone --filter选项的语法是什么?

Git 2.17更新日志描述了此选项:

  • 有人介绍了克隆和获取的机制,这又涉及包装和拆包对象,该机器已被告知如何使用
    另一个主题引入的过滤机制来省略某些对象。现在
    ,它知道将生成的包标记为允诺包,以容忍丢失的
    对象,为“狭窄”克隆奠定基础。

这个标志准备好使用了吗,还是很有可能很不稳定?有谁知道正确的语法通过?我通过的所有标志都被视为无效的过滤器规范而被拒绝。例如,这些是我尝试按目录过滤的:

git clone file://path --depth=1 --filter '--subdirectory-filter Assets' TestRepo
git clone file://path --depth=1 --filter --subdirectory-filter Assets TestRepo
git clone file://path --depth=1 --filter Assets TestRepo
Run Code Online (Sandbox Code Playgroud)

git

8
推荐指数
2
解决办法
5806
查看次数

如何从 git 存储库克隆、获取或稀疏检出单个目录或目录列表?

如何从 git 存储库克隆、获取或稀疏检出单个文件或目录或文件或目录列表,以避免下载整个历史记录或至少保持历史记录下载最少?

为了登陆这里的人的利益,这些是对其他类似问题的参考:

很久以前就有人问过这些类似的问题,从那以后 git 不断发展,最终导致了大量不同的答案,有些更好,有些更糟,具体取决于所考虑的 git 版本。问题在于,上述问题中没有一个答案能满足所有这些问题的所有要求,这意味着您必须阅读所有答案并在头脑中编译自己的答案,最终才能满足所有要求。

这里的这个问题扩展了前面提到的问题,提出了比所有其他问题加起来更灵活和严格的要求。所以,再一次:

如何从 git 存储库克隆、获取或稀疏检出单个文件或目录或文件或目录列表,以避免下载整个历史记录或至少保持历史记录下载最少?

git git-fetch git-checkout revision-history git-sparse-checkout

7
推荐指数
1
解决办法
1425
查看次数

TortoiseGit如何克隆文件夹结构

我不想克隆整个存储库.我们有一个300 MB的存储库,我只想要名为/ sourcecode的文件夹,而不是下载整个根文件夹.

有没有办法做到这一点?

tortoisegit

6
推荐指数
1
解决办法
3898
查看次数

为什么在稀疏结帐后调用`git read-tree`

根据Subdirectory Checkouts with git sparse-checkoutgit read-tree -mu HEAD在已存在存储库的情况下配置稀疏结帐后调用一次,即:

# Enable sparse-checkout:
git config core.sparsecheckout true

# Configure sparse-checkout 
echo some/dir/ >> .git/info/sparse-checkout
echo another/sub/tree >> .git/info/sparse-checkout

# Update your working tree:
git read-tree -mu HEAD
Run Code Online (Sandbox Code Playgroud)
  • 你能read-tree更详细地解释一下这个步骤吗?
  • 它是如何工作的?
  • 到底是怎么回事?
  • 为什么一个人使用read-tree而不是,让我们说,checkout
  • 为什么要使用-mu(为什么这是一个合并,什么是合并)?

-m

    Perform a merge, not just a read. The command will refuse to run if
    your index file has unmerged entries, indicating that you have not
    finished previous merge …
Run Code Online (Sandbox Code Playgroud)

git sparse-checkout

6
推荐指数
1
解决办法
1111
查看次数

没有前导目录的Git稀疏结账

我理解如何在Git中配置稀疏结账,但我想知道是否可以消除主要目录.例如,假设我有一个Git存储库,其文件夹结构如下:

  • 文件夹1 /富
  • 文件夹2 /富/酒吧/东东
  • folder3 /另一个/富/酒吧/ stuff2

我只想要里面的内容stuff2.对于那些目录的稀疏检出,.git/info/spare-checkout文件看起来像这样:

folder3/another/foo/bar/stuff2/
Run Code Online (Sandbox Code Playgroud)

我的问题是在我完成稀疏结账后,我没有看到stuff2或者stuff2我的目录根目录内的内容; 我看到folder3,然后所有的子目录导致stuff2.

我猜这个问题的答案是Git不可能,但我只是想确定一下.这是我想念的SVN的一种(也是唯一的)行为; 能够运行svn co https://url.com/myrepo/folder3/another/foo/bar/stuff2 .并将内容转储到当前目录中.

git directory-structure sparse-checkout

6
推荐指数
1
解决办法
2412
查看次数

如何从 git 中稀疏检出子目录而不检出其父目录?

我正在尝试从 git 存储库中稀疏签出一个子目录。

该存储库包含多个 WordPress 插件,我想一一查看它们。通过下面发布的解决方案,我遇到了这样的问题:每次我检查子目录的父目录时也会检查并且插件无法工作。

我尝试过这样的事情是否可以在不先检查整个存储库的情况下进行稀疏结帐?以及用于简单 Web 部署的 Git 稀疏结帐之类的东西。

我真的希望有人可以帮助我,因为我只是觉得我错过了一些信息。

谢谢。

git subdirectory git-checkout sparse-checkout git-sparse-checkout

6
推荐指数
0
解决办法
751
查看次数

Jenkinsfile管道中的SparseCheckout

在jenkins文件中,我通过SparseCheckoutPaths指定了folderName,我想要签出.但我得到一个完整的分支结账.

   checkout([$class: 'GitSCM', 
       branches: [[name: '*/branchName']],
       extensions: [[$class: 'SparseCheckoutPaths', path: 'FolderName']],
       userRemoteConfigs: [[credentialsId: 'someID',
       url: 'git@link.git']]])
Run Code Online (Sandbox Code Playgroud)

groovy jenkins jenkins-pipeline

6
推荐指数
1
解决办法
8521
查看次数

从Git存储库中分叉文件,而无需克隆存储库

有没有办法在不克隆整个存储库的情况下从外部Git存储库派生文件?

git

5
推荐指数
1
解决办法
3616
查看次数

如何使用指定分支和稀疏签出方式签出大型 git 存储库中的子目录?

例如,我想获取此文件夹https://github.com/python/cpython/tree/2.7/Tools/freeze

我运行的命令是:

mkdir python
cd python
git init
git remote add origin https://github.com/python/cpython.git
git config core.sparsecheckout true
echo "Tools/freeze/*" >> .git/info/sparse-checkout

# find remote branches
git remote show origin

# this works and pulls only that folder
git pull --depth=1 origin master

# but this doesn't, why?
git pull --depth=1 origin 2.7

# but how do I switch to remote 2.7 branch?
git checkout --track -b 2.7 origin/2.7
fatal: Cannot update paths and switch to branch '2.7' at the …
Run Code Online (Sandbox Code Playgroud)

git bash branch

5
推荐指数
1
解决办法
4340
查看次数

Git 存储库在克隆后立即发生更改

克隆此存储库后:

\n\n

https://github.com/OpenFOAM/OpenFOAM-3.0.x

\n\n

我立即提交了更改。\n我尝试使用更改文件的常见解决方案来textmode修复crlfauto./git/config。我也尝试过该.gitattributes文件。但是,这不是行结尾问题。我对代码进行了实际更改。

\n\n

这是我的过程和输出:

\n\n
cruz@MacBook-Air-de-Luis \xee\x82\xb0 ~/dev \xee\x82\xb0 git clone https://github.com/luiscruz/OpenFOAM-3.0.x.git\nCloning into \'OpenFOAM-3.0.x\'...\nremote: Counting objects: 49097, done.\nremote: Total 49097 (delta 0), reused 0 (delta 0), pack-reused 49097\nReceiving objects: 100% (49097/49097), 59.70 MiB | 2.29 MiB/s, done.\nResolving deltas: 100% (30768/30768), done.\nChecking connectivity... done.\nChecking out files: 100% (13863/13863), done.\n cruz@MacBook-Air-de-Luis \xee\x82\xb0 ~/dev \xee\x82\xb0 cd OpenFOAM-3.0.x\n cruz@MacBook-Air-de-Luis \xee\x82\xb0 ~/dev/OpenFOAM-3.0.x \xee\x82\xb0 \xee\x82\xa0 master \xe2\x97\x8f \xee\x82\xb0 git status\nOn branch master\nYour branch is up-to-date …
Run Code Online (Sandbox Code Playgroud)

git macos version-control github

5
推荐指数
1
解决办法
1734
查看次数