社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

azure devops托管代理中的git部分/稀疏/窄取和更新

user3167162 • 5 年前 • 1497 次点击  

我想知道是否可以只从git存储库中获取一个文件,以便对其提交新的更改。我们希望更改azure devops托管代理上的文件,但是下载整个回购协议将需要相当长的时间,因为它很大。

我读到这些选项:

  1. ——滤波器 选项[选择] https://askubuntu.com/questions/460885/how-to-clone-git-repository-only-some-directories]
  2. Git稀疏签出 (我不确定这是否只在github上可用)[ https://briancoyner.github.io/2013/06/05/git-sparse-checkout.html]
  3. 微软全球价值链[ https://github.com/Microsoft/VFSForGit]

筛选命令尝试

git clone--depth 1--filter=sparse:path=readme.md
警告:服务器无法识别筛选,忽略

稀疏校验

git config core.sparsecheckout true
echo file.txt>>.git/info/sparse签出 Git Pull源主机
但它还是找回了一切。

服务器存储库正在运行git V2.18 .

  • 是否需要在服务器上配置任何东西才能使其正常工作?
  • --filter选项是否仅在某些版本上可用?
  • gvfs可以实现这一点吗?是否可以在托管代理上设置?

谢谢您。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/40798
 
1497 次点击  
文章 [ 2 ]  |  最新文章 5 年前
Edward Thomson
Reply   •   1 楼
Edward Thomson    6 年前
  1. 事实上,过滤方法是行不通的。正如您在问题中进一步指出的,链接:

    从v2.19.0开始没有服务器支持,但是已经可以在本地测试了。

  2. 稀疏签出仍将 下载 所有的文件,它只是不会签出到磁盘。

  3. gvfs需要服务器更改,并且仅受azure repos支持。它不是股票的一部分(您指出您的git服务器是2.18)。

正如shayki abramczyk所指出的,使用rest api可能是最好的选择。如果您的宿主提供程序支持它,您可以直接从宿主提供程序下载文件。许多托管提供商将允许您 to commit those changes 也。

Shayki Abramczyk
Reply   •   2 楼
Shayki Abramczyk    6 年前

从git repo下载一个文件的最佳方法是使用azure devops rest api- Items - Get .

GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/items?path={path}&api-version=5.0-preview.1

如果添加参数 download (例如: ?path={path}&download=true )文件将在代理上下载。

所以添加一个带有简单powershell脚本的任务 Invoke-RestMethod )去拿文件。