ロックの種類について
ソース管理サーバーの特定のファイルまたはフォルダーへの変更を一時的に抑止する場合は、ロック コマンドを使用します。 これは、ワークスペースで項目を変更し、マージ競合を解決せずにチェックインする場合に便利です。 特定のファイルまたはフォルダーを同時に複数のユーザーがロックすることはできません。 サーバーの項目へのアクセスを永続的に禁止する場合は、代わりに Permission Commandを使用します。
ロックの種類
Team Foundation には、チェックイン ロックとチェックアウト ロックの 2 種類のロックがあります。
チェックイン ロック
チェックイン ロックは、チェックアウト ロックほど制限が強力ではありません。 チェックイン ロックを適用すると、ユーザーは引き続き他のワークスペースで項目をローカルに変更できます。 ただし、これらの変更は、項目から明示的にチェックイン ロックが解除されるまで、またはファイルへの変更を確認することで暗黙的に解除されるまではチェックインできません。
チェックアウト ロック
Visual Studio Team Foundation Server 2012 の場合、ローカル ワークスペースがあるため、チェックアウト ロックは一般に有効ではありません (「ローカル ワークスペースとサーバー ワークスペースのどちらを使用するかを決定する」を参照してください)。 具体的には、チェックアウト ロックは次のように処理されます。
他のユーザーがローカル ワークスペースを使用している可能性があるため、強制されません。
ローカル ワークスペースを使用している場合、使用できません。
チーム プロジェクト コレクションの管理者セキュリティ グループのメンバーがチームのサーバー ワークスペースの非同期チェックアウトを有効にした場合、無効にされます。
チェックアウト ロックの場合、サーバー ワークスペースを使用しているユーザーがロックされた項目をチェックアウトして、各自のワークスペースで変更することはできません。 自身のワークスペースの保留中の変更が存在する項目以外にチェックアウト ロックを適用することはできません。
ロックの動作
ファイルをロックするときにチェックアウトすると、チェックアウト レコードは新しいロックの種類を追加して変更されます。 ファイルがチェックアウトされていない場合、"ロック" の変更はワークスペースの保留中の変更セットに追加されます。 ロック コマンドでは、チェックアウト コマンドと異なり、ファイルは自動的に編集可能になりません。
Team Foundation では、ワークスペースでロックされている保留中の変更をチェックインすると、項目は自動的にアンロックされます。 ロックは、やり直しコマンドを使用してファイルの保留中の変更を元に戻す場合にも解除されます。
フォルダーのロックは暗黙的に再帰的です。 フォルダーをロックする場合、ファイルに制限が強いチェックアウト ロックを適用する場合を除いて、チェックイン ロックが適用されているフォルダーに含まれるファイルをロックする必要はありません。
特定のファイルまたはフォルダーを同時に複数のユーザーがロックすることはできません。 Status コマンドを使用すると、Team Foundation バージョン管理 サーバーでロックされているファイル、およびロックしたユーザーを確認できます。
ロックは、単独の操作または複数の他の操作の一部として配置できます。 これらの操作には、ソース管理の名前変更、チェックアウト、削除、削除取り消し、マージ、分岐およびソース管理への追加があります。 ソース管理への追加または分岐操作と共に項目をロックする場合、Team Foundation は新しい項目が作成されるサーバー パスにロックを配置します。 これによって、別のユーザーが同じ場所にファイルを追加または分岐することを防止できます。 名前の変更コマンドを使用して項目をロックすると、古いサーバー パスと新しいサーバー パスの両方がロックされます。
項目のロックの解除
ロックは、アンロック コマンドを使用して項目を明示的に解除するか、またはチェックイン時に暗黙的に解除できます。 ロックされた項目に保留中の変更をチェックインすると、Team Foundation はすべてのロックを解除します。
注意
既定では、UnlockOther アクセス許可は管理者だけに与えられます。UnlockOther アクセス許可を持っているユーザーは、Lock Command 使用して、別のユーザーのワークスペースの項目のロックを削除できます。