Android Studio Git Local Changes界面Rollback与Delete的区别是什么
Android Studio Git Local Changes窗口Rollback与Delete功能区别

两个功能的核心差异在于作用对象、操作效果和Git交互逻辑的不同,具体区别如下:
Rollback功能- 仅作用于Git已追踪的文件(即已经执行过
git add或提交到版本库、后续产生了修改的文件) - 执行后会撤销该文件自上次提交后的所有本地修改,将文件内容恢复到上次提交的版本,不会删除本地文件
- 底层等价于执行Git命令:
git checkout HEAD -- 对应文件路径 - 操作完成后该文件会从Local Changes列表中移除,回到未修改的正常状态
- 仅作用于Git已追踪的文件(即已经执行过
Delete功能- 可作用于Git未追踪的新建文件(从未执行过
git add的文件)和已追踪的文件两类对象 - 若选中未追踪文件:执行后会直接从本地磁盘永久删除该文件,由于没有Git版本备份,删除后无法通过Git工具恢复
- 若选中已追踪文件:执行后会删除本地磁盘的对应文件,同时在Git变更记录中标记为「待提交的删除操作」,底层等价于手动删除文件后执行
git rm 对应文件路径 - 操作完成后,已追踪文件会保留在Local Changes列表中作为待提交变更,未追踪文件会直接从列表和本地磁盘同时消失
- 可作用于Git未追踪的新建文件(从未执行过
内容的提问来源于stack exchange,提问作者AlexVPerl
相关产品推荐
相关产品推荐

