zoukankan      html  css  js  c++  java
  • 从Azure DevOps的Git库中下载指定文件


    1. 概述

    使用Git做为版本管理工具,当我们需要获取版本库中的某一个代码文件时,都需要首先完整的克隆代码库(git clone),在签出对应的分支(git checkout),然后才能找到你需要的文件。
    当代码库中的文件比较大,文件比较大时间,通过克隆的方式下载单个文件就比较费劲了。本文介绍在Azure DevOps Server的git代码库中如何快速获取单个文件。注意在企业内网部署的Azure DevOps Server(之前称TFS)中,操作方式和命令完全一样。

    2. 示例

    2.1 通过Web浏览器获取文件

    使用Azure DevOps的网页端工具,可以完成软件开发的大部分工作,甚至可以在线编写源代码;下图是使用web浏览器下载指定文件的截图。

    image

    2.2 使用客户端工具tf.exe获取文件

    除网页之外,Azure DevOps还在客户端工具tf.exe中扩展了Git相关的功能;使用tf.exe,不仅可以从TFVC库中下载指定的文件,还从Git代码库中下载文档。
    tf.exe获取指定git文件的命令行格式和参数如下:

    tf git view /collection:TeamProjectCollectionUrl
                /teamproject:TeamProjectIdentifier
                /repository:RepositoryIdentifier
                (/blobId:blobId | /path:path [/commitId:commitId])
                [/output:localfile]
                [/console]
                [/login:username,[password]]
    
    • collection: 团队项目集合名称,或者Azure DevOps中的账户
    • teamproject: 团队项目名称
    • repository:Git代码库名称
    • blobid: 代码文件对应的blobid;blobid和文件路径不能同时存在
    • path: 文件路径
    • console: 直接将内容输出在控制台窗口中;这个参数不能与output同时使用
    • output: 指定文件在本地存贮的位置和文件名
    • login:username,[password]:用户名和密码,注意账户和密码之间的分隔符是逗号;如果没有指定密码,系统会提示你输入密码
      下面介绍几种常见的场景:

    示例1:从代码库的默认分支(一般是master)中下载指定文件

    下面的脚本从TFS代码库的默认分支中获取文件,并将文件保存到当前目录下;如果用户没有保存的账户密码,系统会提示输入用户名和密码:

    tf git view /collection:http://ads/defaultcollection/teamproject:devops /repository:hellomaven /path:src/main/java/com/mycompany/hellomaven/App.java /output:app.java
    
    将获取的文件输出到控制台:

    image

    示例2:在获取文件时,输入用户名和密码

    如果在脚本中没有指定密码,系统会提示输入密码

    tf git view /collection:http://ads/defaultcollection /teamproject:devops /repository:hellomaven /path:src/main/java/com/mycompany/hellomaven/App.java /console /login:danzhang
      

    image

    示例3:从指定的提交中获取文件

    在脚本中指定commitid,就可以获取到对应提交中的文件;
    注意commitid只能是一个40位字符的哈希值

    tf git view /collection:http://ads2/defaultcollection /teamproject:核心系统CMMI /repository:hellogit /path:azure-pipelines.yml /console /login:adszhanghongjun,P2ssw0rd /commitid:7facebb3c8f6ca96c35f8e4c61e4686aa935705b
    

    image


    如果需要,你可以从微软Azure DevOps Server 的在线文档,查询更多的权威资料

    ------------------------------------------------------------

    http://www.cnblogs.com/danzhang/  DevOps MVP 张洪君

    ------------------------------------------------------------

  • 相关阅读:
    asp.net中Session过期设置方法
    SQL server的一道入门面试题背后的思考
    SQL Server 2008中SQL应用之-“阻塞(Blocking)”
    win2003+vs2010下安装asp.net MVC3正式版失败经历
    WinForm下ComboBox设定SelectedValue总结
    SQL Server 2008中的代码安全(四):主密钥
    【译】SQL Server误区30日谈Day12TempDB的文件数和需要和CPU数目保持一致
    西雅图SQL PASS之旅
    【译】SQL Server误区30日谈Day10数据库镜像在故障发生后,马上就能发现
    Ado.net的连接池
  • 原文地址:https://www.cnblogs.com/danzhang/p/13906823.html
Copyright © 2011-2022 走看看