所以这可能是一个愚蠢的想法,可能有变通办法/其他解决方案。我对这些感到好奇,但也对以下问题的具体答案感到好奇。
是否可以为提交创建一个diff,只需删除和添加相同的确切代码,从而使您有机会创建一个提交,该提交实际上只是特定代码行的元数据,即创建一个临时附加到代码行的注释,直到这些行被更改?
原因:我的git反应让我想确保每个提交都是完全可工作的代码,这样,如果你需要回滚,你就不必猜测需要弹出多少提交。然而,这本质上为您提供了一个单独的提交消息,用于该提交中更改的所有代码行。(也许这是我的根本问题?(
如果有一种方法可以创建一个非diff,我可以在上面创建一个提交,我可以简单地添加一个";评论";(提交消息(到嵌入其中的"提交消息"的作者的几行代码;评论";,以及";评论";制作完成。
然后,我可以去掉代码中所有的硬注释(即以//或#开头的行或其他任何行(,如果我想查找注释,可以查看责备。如果我改变了什么,我要么故意保留评论,写一个新的评论,要么任由我做任何功能性的改变。这样一来,您就永远不会有一个不需要执行的TODO,而且一旦您更改了代码,就永远不会再有一个不适用的NOTE。
是否可以为提交创建一个diff,只需删除和添加相同的代码。
git
不会为每次提交保存diff,而是保存文件夹和文件的完整树(尽管是以一种非常聪明和高效的方式(。您看到的差异是通过比较有问题的提交及其父级引用的两个树来动态计算的。
您可以使用--allow-empty选项创建一个根本不更改代码的提交(即,它引用与其父提交完全相同的树(。但这将不会给您提供任何文件或代码行的引用。
是否可以为提交创建一个diff,只需删除和添加相同的确切代码,从而为您提供创建一个提交的机会,该提交实际上只是特定代码行的元数据,即创建一个临时附加到代码行的注释,直到这些行被更改?
简单地说,不。您的注释示例将是代码更改,因此它将显示在差异中。
一些潜在的选择:
- 您可以创建一个空的提交,如SebDieBln的回答中所述,它没有任何更改,只有一条提交消息,您可以在其中说任何您想说的话
- 您可以创建两个提交,其中第二个提交撤消第一个提交。实现这一点的一种方法是在1次提交中进行一些更改,然后恢复该提交,从而进行第二次提交。在这种情况下,第一次提交和第二次提交的父级之间的差异不会发生变化,但第一次提交的母级和第一次提交之间的差异会有您想要捕获的更改,并可能对其进行处理