Lock コマンド (Team Foundation バージョン 管理)
Azure DevOps Services の |Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 |Visual Studio 2022
Team Foundation バージョン管理 (TFVC) lock
コマンドは、ファイルまたはフォルダーをロックまたはロック解除します。 このコマンドは、アイテムをチェックアウトして別のワークスペースに編集したり、別のワークスペースのアイテムに対する保留中の変更をチェックインしたりする権限をユーザーが拒否または復元します。
前提 条件
構文
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
オプションを指定することで、項目をロックできます。
- 名前の変更コマンド (Team Foundation バージョン 管理)
- [チェックアウトと編集] コマンドを
- Delete コマンド (Team Foundation バージョン管理)
- [削除の取り消し] コマンド を
する - Merge コマンド
- Branch コマンド
- コマンド の追加
add
と branch
の場合、新しい項目が作成される名前空間にロックが設定されます。
rename
で配置されたロックは、古い名前空間と新しい名前空間の両方に適用されます。 詳細については、「フォルダーまたはファイルのロックとロック解除を
ロックの種類
TFVC には、checkin
と checkout
の 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
関連記事
- Team Foundation バージョン管理コマンドを使用する
- [チェックアウトと編集] コマンドを
- Status コマンドの
- ロックの種類の について
- ワークスペース を作成して操作する
- バージョン コントロール ロックの操作