分享您如何为 Git 创建提交的经验。有时我会做一件事,同时纠正或补充一些东西(例如,在类型上)。如果不要忘记所有这些编辑并将它们写在提交中,那就太酷了。但有时我会忘记一些欺诈行为及其本质,即使显示了修改后的文件。我试图把它写在笔记本上,然后从那里复制,但不知怎的,它没有意义,就好像它是南方古猿一样。也许有一个命令来存储正在出现的提交。
分享您如何为 Git 创建提交的经验。有时我会做一件事,同时纠正或补充一些东西(例如,在类型上)。如果不要忘记所有这些编辑并将它们写在提交中,那就太酷了。但有时我会忘记一些欺诈行为及其本质,即使显示了修改后的文件。我试图把它写在笔记本上,然后从那里复制,但不知怎的,它没有意义,就好像它是南方古猿一样。也许有一个命令来存储正在出现的提交。
在工作开始时,甚至在进行更改之前,立即创建一个带有消息的空提交模板,以便立即概述工作向量是有意义的。
然后,在进行编辑时,逐步补充它、编辑消息等。当您执行此命令时,将打开一个文本编辑器,您可以在其中编辑所有内容。
当您希望在记事本中写下一些内容并稍后添加,而不将其与主要任务混合时,那么,当然,您不能不将其除以提交。这可以通过不同的方式解决,例如:
将应该写在记事本中的修复放在索引中,然后继续处理主要任务。要将更改部分(逐块)放入索引中,有一个命令
git add -p
。它既可以为单个文件调用,也可以为一组文件调用。例如,要影响当前文件夹中的所有文件,您可以执行以下操作git add -p .
。这将导致交互式选择要添加到索引的修改文本块。该模式下有多种选择:之后,您可以根据索引中的数据创建提交
git commit -m "Some other changes beside main job"
并继续处理主要任务。每个独立的修复都可以通过这种方式放置在单独的提交中。git worktree add
。并专门执行您想要在记事本中写下的内容,像往常一样创建提交。以这种方式创建的提交稍后可以使用 放置在主分支中git cherry-pick
。当主要任务完成(意味着本地)并且所有细微更改(来自记事本)都在当前分支中的单独提交中实现时,您可以压缩提交并在必要时重新组合它们。
git rebase -i
交互式命令对此很有效。在编辑器中,您可以按所需顺序排列提交(只需向上/向下移动行),可以通过替换pick
为squash
(或简单地)来合并相邻提交s
,在与前一个提交(上面的行)合并的提交中,标记为作为pick
。合并提交时,将打开一个编辑器,您可以在其中重新编写合并提交的消息。要重写单个提交的消息,请选择reword
。无论如何,编辑器中的文本中都提供了有关操作提交的不同方法的提示。在代码中写注释。使用图形 shell 打开提交。请参阅那里的差异。将评论文本移至提交。
您还可以在某些界面中单独提交修复,仅突出显示必要的行。