我试图将一些Javascript文件转换为TypeScript文件。我已将我的move.js
文件重命名为我的IDE中的move.ts
(本例中为VSCode),并使用TSC编译以检查一切是否正常。现在我想提交我的更改。
我不知道如何让SourceTree和/或Git明白:
这甚至可能吗?我如何使用SourceTree(或失败,git命令行工具)来指示此状态?它需要两个单独的提交吗?
这是SourceTree为状态显示的内容:
如果我按原样暂存这些文件,则会将其作为编辑+添加提交,这是我不想要的。
这是git status
报告的内容:
On branch TypeScriptConversion Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: src/js/domain/move.js Untracked files: (use "git add <file>..." to include in what will be committed) src/js/domain/move.ts no changes added to commit (use "git add" and/or "git commit -a")
如何告诉SourceTree和/或git我的文件已重命名,编辑过,并且在其位置输入了同名的 new 文件?
答案 0 :(得分:3)
单独提交:在一次提交中重命名,然后在第二次提交中添加原始文件的替换。
答案 1 :(得分:1)
只需在上面的答案中添加一个答案(在2020年):似乎只有少数几行或一定百分比的行是相同的,它的确会检测到重命名-但是,如果您希望得到保证,可以这样做分两步进行(如上面建议的答案中所述)。
另一件重要的事情:请确保同时将两个项目一起上演,以增加ST正确检测到差异作为重命名的机会;我本人和同事都观察到,如果您不小心仅暂存了新文件,则无论更改有多么微不足道,它都会检测到已删除的旧文件。甚至完全相同的文件一次完成一次也可能被误标记为删除/添加。我不确定这是在内部通过git本身还是通过ST来添加此功能(因为我认为git中不会智能地检测到重命名),但是如果您知道anyone < / p>