我前段时间做了一些提交,增加了几个新类。后来,一位同事用提交B重做了一些事情,并删除了我的课程。
为了进行一些调试,我只对在某些已删除的类中查找感兴趣(以确认它们包含一些现在基本上没有的功能)。
是否有(简单)方法(假设使用 git , intellij )?
编辑:我现在认为intellij在版本控制窗口中有一个上下文菜单条目show all affected files
(对于那里列出的每个提交)。
但我想知道是否有适用于案例的解决方案,当我只记住手头的文件名时。从已知提交中获取文件很有帮助,但是如果识别提交很困难呢?
答案 0 :(得分:1)
您可以使用git bisect查找文件被删除的时间。
以下是有关如何操作的完整演示 https://github.com/nirgeier/Tutorials-bisect
git bisect
可让您使用二进制搜索搜索所有提交,并且您将能够确定何时删除所需的代码。
实现目标的方法是使用git bisect run <script>
像目前为止一样使用bisect,并使用带有脚本选项的bisect。
脚本将返回相应的跳过代码(或 125 ,因为不可测试 - 在您的情况下更合适)。
请注意,如果当前源代码良好,脚本应退出代码
0
,如果当前源代码不正确,则退出code between 1 and 127
(包括)except 125
任何其他退出代码都将中止bisect进程。应该注意的是,一个程序终止于&#34;退出(-1)&#34;离开$? = 255,(参见exit(3)手册页),因为该值被&#34;&amp; 0377&#34;
当无法测试当前源代码时,应使用特殊退出代码125。如果脚本以此代码退出,则将跳过当前修订(请参阅上面的git bisect)。
选择
125
作为用于此目的的最高敏感值,因为POSIX shell使用126
和127
来指示特定的错误状态(127
是对于未找到的命令,126
用于找到命令但不可执行 - 这些细节无关紧要,因为它们是脚本中的正常错误,就bisect run
而言。“
Here您可以查看有关如何使用git bisect
的示例代码答案 1 :(得分:1)
在&#34;版本控制&#34;面板,有一个&#34; Log&#34;选项卡,在这里您可以找到任何提交,并查看提交的所有添加/更改/删除的文件。
如果您不知道文件被删除的提交,请关注其他问题,例如Find when a file was deleted in Git