保留结账和无保留结账有什么区别?

bra*_*mus 8 clearcase

当我在ClearCase中签出一个文件时,它会询问我是否要查看"保留"或"未保留"文件.这些类型的结账之间有什么区别?何时适合使用它们?

Von*_*onC 15

正如"每个开发人员应该知道的基本明确概念是什么?"中所提到的那样.,ClearCase支持锁定机制,它既包括:

  • "悲观":保留结账实际上并不会阻止其他人自行结账,但是他们必须等待签出文件的人被"保留"才能办理登机手续:没人可以办理登机手续该人进行第一次登记(然后每个其他用户必须将他/她的版本与最新的登记文件合并)
    注意:"保留"结账可以释放其锁定并由业主或管理员;

  • "乐观":无保留结账,这意味着(如果没有人在同一档案上使用保留结账):第一个办理登机手续的人可以在没有任何其他操作的情况下办理,其他人必须将他们的工作与最新检查合并 -在文件中.

在术语中,如果使用政策:

  • 通常,保留结帐是正常的,因为它允许您通过"高优先级"进行更改:必须首先考虑它们.
  • 对于无需立即办理登机手续的本地修改,无保留结账即可.
  • 对于根本不需要签入的本地修改,被劫持的文件或重叠文件就足够了(所以,根本没有结账)

笔记:

A cleartool checkout/checkin不一样:

  • svn checkout/ git checkout,正在使用修订/提交的内容更新工作存储库,而不是检出文件的版本:文件集与一个文件.
  • "checkin":svn commit/ git commit注册了可能多个文件到repo的更改(远程用于SVN,本地用于Git),而不是为一个文件创建新版本.

Git本身不会有"文件锁定"(保留结账).只有使用Git的系统可能会提供该功能,例如Git LFS.