对于源代码管理系统,在运行以下命令时,结果的实际差别是什么:
git mv <src> <dest> # see: https://git-scm.com/docs/git-mv相对于“低级”命令,如
mv <src> <dest>从版本/源代码控制系统的角度来看,结果有什么不同吗?或者其他人的观点?
其他git命令(如git rm )也是如此。I just want to know what difference it makes between running the git functions versus bash functions, or whatever.
发布于 2016-10-19 07:33:17
由于您已经用不同的SCM产品来标记这个问题,而不仅仅是git,所以我用更一般的方式来回答这个问题。
每个源代码管理系统跟踪有关文件的不同信息。例如,在Mercurial中,跟踪移动,以便-在删除和添加重命名的文件的同时,它还存储有关重命名的信息,以及它以前曾使用过的文件。
另外,在删除文件时,通常也需要将其从SCM中删除(有时也称为遗忘)。
因此,一般来说,SCM文件操作命令确实会更新文件系统以及SCM跟踪此更改所需的操作。
发布于 2016-10-19 07:38:16
只是一段额外的信息,补充了其他答案(这仅适用于giv mv):
如果文件<dest>存在(不管跟踪与否),那么
mv <src> <dest>将默默地覆盖它,而
git mv <src> <dest>拒绝用下列错误消息覆盖它:
fatal: destination exists, source=<src>, destination=<dest>https://stackoverflow.com/questions/40124683
复制相似问题