次の方法で共有


Lock コマンド (Team Foundation バージョン 管理)

Azure DevOps Services の |Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 |Visual Studio 2022

Team Foundation バージョン管理 (TFVC) lock コマンドは、ファイルまたはフォルダーをロックまたはロック解除します。 このコマンドは、アイテムをチェックアウトして別のワークスペースに編集したり、別のワークスペースのアイテムに対する保留中の変更をチェックインしたりする権限をユーザーが拒否または復元します。

前提 条件

コマンドを使用するには、ロック 権限を [許可に設定します。 他のユーザーの変更をロック解除するアクセス許可、そのユーザーのワークスペースに対する書き込み アクセス許可がない 場合は、別のユーザーが保持しているロックを削除 許可 に設定する必要があります。 詳細については、「既定の TFVC アクセス許可 」を参照してください。

構文

tf lock itemspec /lock:(none|checkout|checkin) 
[/workspace:workspacename] [/recursive] [/login:username,[password]] [/collection:TeamProjectCollectionUrl] 

パラメーター

引数

引数の

説明

<itemspec>

ロックまたはロック解除するファイルまたはフォルダーを識別します。 TFVC が itemspec を解析してスコープ内にある項目を判別する方法の詳細については、「オプションを使用してコマンドの機能をする方法を変更する」を参照してください。

手記

複数の itemspec 引数を指定できます。

<workspacename>

/workspace オプションのユーザー指定の値。

<username>

/login オプションに値を提供します。 DOMAIN\username または usernameとして username 値を指定できます。

<TeamProjectCollectionUrl>

ロックまたはロック解除するファイルまたはフォルダーを含むプロジェクト コレクションの URL (http://myserver:8080/tfs/DefaultCollectionなど)。

オプション

オプションの

説明

/lock

ロックの種類を指定するか、項目からロックを削除します。 詳細については、「ロックの種類を理解する」を参照してください。

ロック オプション:

  • None: アイテムからロックを削除します。

  • Checkin: すべてのワークスペースでアイテムをチェックアウトおよび編集できるようにしますが、チェックイン ロックを明示的に解除するまで、指定した /workspace 外のアイテムに対する変更をユーザーがチェックインできなくなります。 指定した項目が他のワークスペースでロックされている場合、ロック操作は失敗します。

  • Checkout: ロックを明示的に解除するまで、ユーザーが指定した項目をチェックインまたはチェックアウトできないようにします。 ユーザーが指定された項目のいずれかをロックしている場合、またはいずれかの項目に対して保留中の変更が存在する場合、ロック操作は失敗します。

/workspace

ロックを適用する別のワークスペースの名前を指定します。 既定では、ロックは現在使用しているワークスペースに適用されます。

/login

Azure DevOps でユーザーを認証するためのユーザー名とパスワードを指定します。

/collection

プロジェクト コレクションを指定します。

備考

lock コマンドを使用すると、TFVC サーバーバージョンの項目を一時的に固定して、マージの競合を解決することなく保留中の変更をチェックインできます。 TFVC サーバー内の項目へのアクセスを完全に禁止する場合は、代わりに Permission コマンド を使用する必要があります。

手記

チームメイトへの提供として、アイテムにロックを適用するときに通知し、その理由を説明し、可能であればロックを削除する予定のタイミングを見積もります。

tf コマンドライン ユーティリティの使用方法の詳細については、「Team Foundation バージョン管理コマンドを使用する」を参照してください。

アイテムをロックする方法

lock コマンドを使用するか、他のいくつかの tf コマンドラインユーティリティコマンドの委託時に lock オプションを指定することで、項目をロックできます。

addbranchの場合、新しい項目が作成される名前空間にロックが設定されます。 rename で配置されたロックは、古い名前空間と新しい名前空間の両方に適用されます。 詳細については、「フォルダーまたはファイルのロックとロック解除を する」を参照してください。

ロックの種類

TFVC には、checkincheckoutの 2 種類のロックがあります。

チェックイン ロックは、チェックアウト ロックよりも制限が厳しくありません。 チェックイン ロックを適用すると、ユーザーは引き続き他のワークスペース内のアイテムに対してローカル変更を行うことができます。 ワークスペースからチェックイン ロックを明示的に削除するまで、変更をチェックインすることはできません。

チェックアウト ロックは、チェックイン ロックよりも制限が厳しくなっています。 バージョン管理されたファイルまたはフォルダーにチェックアウト ロックを適用すると、ユーザーはアイテムをチェックアウトして編集することも、既存の保留中の変更をチェックインすることもできません。 アイテムに保留中の変更がある場合は、チェックアウト ロックを取得できません。

チェックアウト ロックを適用するタイミングとチェックイン ロックを適用するタイミングの詳細については、「ロックの種類を理解する」を参照してください。

ロックのしくみ

ロック時にチェックアウトされたファイルがある場合、その状態は新しいロックの種類を含むよう変更されます。 ファイルがチェックアウトされていない場合は、保留中のワークスペース変更のセットに ロック 変更が追加されます。 checkout コマンドとは異なり、lock はファイルを自動的に編集可能にしません。

フォルダーのロックは暗黙的に再帰的です。 フォルダーをロックする場合は、チェックイン ロックがあるフォルダー内のファイルに、より制限の厳しいチェックアウト ロックを適用しない限り、フォルダーに含まれるファイルをロックする必要はありません。

アイテムのロックを解除する

none オプションを使用して、ロックされたアイテムのロックを解除できます。 TFVC は、ワークスペースで保留中の変更をチェックインすると、項目のロックを自動的に解除します。

Status コマンドを使用して、TFVC サーバーでロックされているファイルと、そのファイルがロックされたユーザーを判別

次の例では、他のユーザーが 314.csチェックアウトできないようにします。

c:\projects>tf lock /lock:checkout 314.cs

次の例では、他のユーザーが 1256.cs への変更をチェックインできないようにしますが、ワークスペースでチェックアウトできます。

c:\projects>tf lock /lock:checkin 1256.cs

次の例では、他のユーザーが TFVC サーバーの $/src フォルダー内の項目に対する変更を保留しないようにします。

c:\projects>tf lock /lock:checkout $/src

次の例では、$/src TFVC サーバー フォルダー内のすべてのファイルをロック解除し、他のユーザーがチェックアウトおよびチェックインできるようにします。

c:\projects>tf lock /lock:none $/src