323

TFS での保留は、他のチーム メンバーがソース コードを参照できるようにするための単なるソフト チェックインですか?

つまり、棚上げされたコードは正しくコンパイルされませんか?

4

8 に答える 8

463

棚には多くの用途があります。主なものは次のとおりです。

  1. コンテキストの切り替え:現在のタスクの作業を保存して、別の優先度の高いタスクに切り替えることができるようにします。上司が駆け寄って「ああ!バグバグバグ!」と言ったときに、自分のビジネスを気にしながら、新しい機能に取り組んでいるとしましょう。現在の変更を機能にドロップして、バグを修正する必要があります。機能の作業を棚上げし、バグを修正してから、戻って棚から外し、後で変更に取り組むことができます。
  2. チェンジセットの共有:チェックインせずにコードのチェンジセットを共有したい場合は、棚に置くことで他の人が簡単にアクセスできるようにすることができます。これは、不完全なタスクを他の誰か(貧しい人々)に渡す場合、またはある種のテストコードがある場合、他の誰かが実行する必要があることを決してチェックインしない場合に使用できます。レビューにこれを使用することについての他の回答へのh/t、それは非常に良い考えです。
  3. 進捗状況の保存:複雑な機能に取り組んでいるときに、進捗状況を保存したい「良いポイント」にいることに気付く場合があります。これは、コードを棚上げするのに理想的な時期です。レンダリングのバグを修正するためにCSS/HTMLをハッキングしているとします。通常、あなたはそれを強打し、それが正しく見えるまであなたが考えることができるすべての可能な恨みを繰り返します。ただし、正しく表示されたら、マークアップをクリーンアップして、チェックインする前に他の誰かがあなたの行ったことを理解できるようにすることをお勧めします。この場合、すべてが正しくレンダリングされたらコードを棚上げできます。 、その後、マークアップを自由にリファクタリングできます。誤ってマークアップを再度壊した場合でも、いつでも戻ってチェンジセットを取得できることを知っています。

他の用途はありますか?

于 2009-02-18T09:37:18.343 に答える
21

これらの議論の多くで見落とされているポイントの 1 つは、変更を棚上げした同じマシンに戻す方法です。おそらくほとんどの人には明らかですが、私にはそうではありませんでした。保留中の変更を元に戻す操作を行っていると思いますが、よろしいですか?

プロセスは次のように理解しています。

  1. 現在の保留中の変更を棚上げするには、プロジェクトを右クリックして棚上げし、棚上げ名を追加します
  2. これにより、サーバーへの変更が保存 (または棚上げ) されます (誰にも表示されません)。
  3. 次に、保留中の変更を元に戻すを実行して、コードを最後のチェックイン ポイントに戻します。
  4. その後、元に戻したコード ベースラインで必要なことを行うことができます
  5. いつでも変更を取り消すことができます(マージの競合が必要になる場合があります) 。

そのため、保留する必要がある作業を開始する場合は、開始する前に必ずチェックインしてください。チェックイン ポイントは、上記の保留中の変更を元に戻す手順を実行するときに戻る場所です。

于 2015-10-23T08:58:23.723 に答える
14

私はいつもこれに出くわすので、ブランチに関する補足情報:

複数のブランチで作業している場合、シェルフセットはそれらを作成した特定のブランチに関連付けられます。そのため、チェンジセットを長い間放置して別のブランチに移す必要がある場合は、パワー ツールの 7 月のリリースでそれを行う必要があります。

tfpt unshelve /migrate
于 2009-02-17T14:54:54.000 に答える
1

@JaredPar: はい、レビューにシェルブセットを使用できますが、シェルブセットは自分自身/他の人によって上書きされる可能性があるため、長期的に安定していないことに注意してください。したがって、規制関連のレビューでは、シェルフセットをベースとして使用するのではなく、チェックイン (チェンジセット) を使用する必要があります。非公式のレビューであれば問題ありませんが、正式な (FTA 関連の) レビューでは問題ありません。

于 2016-04-13T07:36:53.757 に答える
0

ゲート ビルドを使用している場合、ビルドがトリガーされると、ビルド用に送信されるワークスペースのシェルブセットが作成されます。ビルドが失敗すると、シェルブセットは拒否されます。ビルドが成功すると、変更セットが作成され、TFS にコミットされます。どちらの場合でも、そのチェックイン/ビルドを行う人はワークスペースを調整する必要があります。これは、Get Latest を実行するのと同じくらい簡単です。

于 2016-05-19T21:22:43.063 に答える