我有时会用Java修改类名.这导致我也需要修改文件名.
为了维护SVN中文件的历史记录,我使用了一个名为Repair Move的TortoiseSVN工具.
在"检查修改"视图中,选择两个文件,一个丢失,一个未版本化.当您右键单击其中一个时,可以选择"修复移动".
这将删除SVN中的旧文件,并在附加旧文件的历史记录时添加新文件.这样,当你svn log时,你可以看到自文件名更改之前的整个历史记录.
git有一个等效的命令吗?从我读过的工作流程看来,我应该做以下事情:
git mv <old filename> <new filename>
# Make the class name changes to reflect the filename change.
git commit -a -m "Changed filename from Foo.java to Bar.java"
Run Code Online (Sandbox Code Playgroud)
这似乎是一个很长的路要走.
git mv一旦我手动移动文件并对文件本身进行了更改,我想我可以使用.它似乎git mv只是mv命令的包装,并将更改添加到git.
移动发生后有没有办法通知git移动的文件?
事实证明,Git 在确定文件何时重命名方面非常聪明。
当您提交已删除的文件和新文件时,系统会比较两个文件的内容是否相似。
如果文件满足特定阈值,提交将自动将添加和删除文件更改为重命名。git add有时,一旦您创建了git rm文件,这就会出现,有时是在实际提交之后。
例如,当文件名或包名称更改时,Java 文件会略有变化。Git 会比较删除的文件和添加的文件的内容,发现它们大部分相同,并将其标记为重命名的文件。
| 归档时间: |
|
| 查看次数: |
722 次 |
| 最近记录: |