【问题标题】:Checking in Shelvesets签入搁置集
【发布时间】:2011-03-15 10:39:42
【问题描述】:

我是一名开发人员,我对解决方案进行了一些更改,并将其保存到搁置集中。另一位开发人员取消了我的更改并在服务器上构建解决方案。第二个开发人员有办法检查我的搁置吗?我知道他/她可以签入构成搁置集的各个文件。但是,我正在考虑使用搁置集名称作为参数的“签入”命令,或者是否有另一种方法可以使用搁置集名称将这些更改作为一个单元签入。

【问题讨论】:

  • +1 我也想知道。我认为您可以更新这样的问题“签入搁置集而不取消搁置”

标签: tfs checkin


【解决方案1】:

其他开发人员可以打开 Visual Studio 命令提示符并使用以下命令:

tf checkin /shelveset:shelvesetname;shelvesetowner

有关详细信息,请参阅 MSDN 上的 Checkin Command

【讨论】:

  • 我收到错误:“无法使用 /shelveset 选项指定项目。” - 这是什么意思?
  • 也遇到这个错误,以后有解决办法吗?
  • 这总是删除搁置集。我没有看到命令的任何选项来保留它;它必须总是被删除吗?!
【解决方案2】:

我不认为直接通过 TFS 命令行签入是更好的方法,它可能与 TFS 上的最新代码冲突。

我认为,如果您的代码中还有一些其他更改但您没有签入,那么签入搁置集的更好方法是在您的本地计算机中创建一个新的 WorkSpace

然后将最新的代码映射到新的工作空间,然后取消搁置(下载)搁置集,必要时解决冲突,然后签入代码

【讨论】:

    【解决方案3】:

    对于那些遇到错误的问题:“无法使用 /shelveset 选项指定项目。”,请尝试将用户名放在括号中,如下所示:

    tf checkin /shelveset:shelvesetname;"shelvesetowner"

    【讨论】:

      【解决方案4】:

      一个简单的方法是定义一个新的工作区,并让开发人员取消搁置到该工作区。然后,该工作区的所有未决更改都对应于货架集,他们可以签入工作区中的所有内容。

      【讨论】:

      • 感谢您的回复。但是,多个开发人员可能会搁置需要取消搁置、构建和从服务器签入的更改。我想如果可以通过搁置集名称签入,那么服务器上的搁置集可以一次构建、测试和签入。这不可能吗?
      • 听起来您所说的与 TFS 2010 中的 Gated Checkin 方法在时尚上相似。在该设置中,TFS 将进行签入,将其放入货架集中,然后基于该货架集构建。
      • 我想我说错了。当我提到在服务器上构建搁置集时,我的意思是它将在安装在服务器上的 Visual Studio 中构建。也就是说,我所说的服务器并不是指“构建代理”。我正在考虑在代码中执行此操作,但还没有运气。
      • 所以,基本上你有一个“buildmaster”,它将 1..n 个搁置集放入工作区,执行构建,然后有选择地签入 1..n 个搁置集?如果您正在查看检查所有搁置集,他可以从干净的工作区进行检查,然后只需检查所有待处理的更改。如果您正在考虑选择性地签入变更集,则会变得更加困难,您可能必须使用 PowerShell 或代码。
      【解决方案5】:

      第二个开发人员可以转到团队资源管理器 -> 构建并右键单击您正在使用的构建定义。

      1. 选择“排队新建...”
      2. 在组合框“您要构建什么?”中,选择“带有搁置集的最新源”。
      3. 如果您点击“...”按钮,您可以从任何人中选择任何搁置集。
      4. 然后选中“成功构建后签入更改”框。

      使用该搁置集运行构建,构建通过时将签入搁置集。

      【讨论】:

        猜你喜欢
        • 2016-01-13
        • 1970-01-01
        • 2018-01-08
        • 1970-01-01
        • 2010-10-05
        • 1970-01-01
        • 1970-01-01
        • 2012-10-16
        • 2018-01-15
        相关资源
        最近更新 更多