分支修改文件名/TypeScript类名后合并到master,是否保留旧文件?
Git分支合并后的文件变更问题解答
问题1:分支修改文件名,合并回master后会同时存在新旧文件吗?
- 不会同时存在新旧两个文件。Git对文件名修改的处理逻辑是删除原文件 + 添加新命名的文件。当你在分支完成文件名修改并合并回master后,master分支的工作区只会保留新文件名的文件,旧文件名的文件会被移除。
- 特殊情况:如果合并过程中,master分支的原文件在你修改文件名期间也有内容变更,Git会触发冲突提示,需要手动解决冲突,但解决完成后,最终工作区依然只会保留处理后的单个文件,不会同时存在新旧版本。
问题2:分支修改TypeScript类名及文件名,合并回master后旧文件、旧类名会保留吗?
- 不会保留旧文件和旧类名。文件名修改的逻辑和问题1一致,合并后旧文件会被移除;类名是新文件内的代码变更,旧类名只会存在于历史提交记录中,当前工作区的新文件里只有修改后的类名。
- 注意:如果项目中其他代码依赖了旧文件路径或旧类名,合并后会出现引用错误,合并前务必确保所有相关代码都同步更新了引用。
内容的提问来源于stack exchange,提问作者GGizmos
相关产品推荐
相关产品推荐

