如何在开发分支git存储库(VSTS)中获取特定文件夹到我的本地目录

时间:2018-03-30 02:13:58

标签: git github repository azure-devops git-clone

我在VSTS git中有一个存储库https://phm-dsc.visualstudio.com/PHM/_git/repo。如何使用powershell / batch脚本命令将此存储库中的文件夹添加到本地?我尝试了以下但没有工作(得到这个错误:稀疏结账在工作目录上没有任何条目)。任何建议都会有所帮助

 mkdir sql
cd sql
git init
git remote add origin -f <<https URL of repository>>
git config core.sparsecheckout true
echo <<path of the folder>> >>.git/info/sparse-checkout
git pull origin master

3 个答案:

答案 0 :(得分:0)

这应该有效 - 或者至少你已经接近了。我有一个基本相同的脚本,这些步骤看起来基本正确。

但是,请尝试从<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency> 中删除-f选项。在创建git remote add origin文件之前,您确实不希望进行提取。这可能是个问题。

如果您仍然无法使其工作,为什么不考虑将您尝试的步骤与公共仓库(在VSTS或github上)一起发布。这样,其他人可以尝试这些步骤,看看到底出了什么问题。

答案 1 :(得分:0)

您可以阅读“On Windows git: “error: Sparse checkout leaves no entry on the working directory”

中的一些提示

特别是:

  
      
  • <path you want to checkout>可能如下所示:path/to/subfolder - 请注意缺少前导和尾随路径分隔符。

  •   
  • 重要提示:请务必使用下面的git bash提示符,并使用支持unix行结束约定的编辑器,并在编辑稀疏结帐文件时另存为ANSI,否则可能会出现“错误:稀疏checkout在工作目录中没有留下任何条目“错误。

  •   

请仔细检查.git/info/sparse-checkout文件中使用的eol(行尾)。

答案 2 :(得分:0)

要从VSTS git repo获取文件夹到您的本地目录,您可以按照以下命令(假设文件夹名称为myfolder,并且它位于master分支):

mkdir sql
cd sql
git init
git remote add origin -f https://phm-dsc.visualstudio.com/PHM/_git/repo
cd repo
git checkout origin/master myfolder/

现在myfolder中的内容已获取,如有必要,您可以提交到本地git仓库。