1

在暂存文件之前,我喜欢执行 agit diff以检查一切是否正常。当我垂直遍历一个差异时,我会记下每个“可以”用于暂存的文件。如果它是一个特别长的差异,我发现很难跟踪哪些是好的,所以我倾向于每隔一段时间退出差异并尽我所能。这有点乏味。

有没有办法改进这个工作流程?显然,一开始就不应该让他们的差异变得很大,但有时事情不会像那样进行(例如,更改跨多个文件调用的方法的方法签名)。

例如,是否可以将所有内容从当前活动的git diff“会话”的“顶部”到您所在的差异中的当前点?这样我就可以在不退出差异和失去思路的情况下继续进行演示。

4

3 回答 3

2

您可以通过部分添加来做到这一点:

git add -p

它将带您浏览文件的不同部分,让您按您认为适合的方式暂存或忽略每个文件。

于 2013-01-04T15:30:15.037 回答
2

尝试git add -p改用。它将向您显示每个差异大块并询问您是否要添加它们。

于 2013-01-04T15:29:59.370 回答
0

利用:

git add --interactive 

我在 ~/.bashrc 中为它创建了一个别名:

alias gi='git add --interactive'

了解如何让我们充分发挥 git add -i 的潜力。它现在是我日常工作流程的一部分,也是我最喜欢 git 的地方之一!:)

其他答案隐藏了 git add -i 的其他不错的功能:

   -p, --patch
       Interactively choose hunks of patch between the index and the work tree
       and add them to the index. This gives the user a chance to review the
       difference before adding modified contents to the index.

       This effectively runs add --interactive,
       but bypasses the initial command menu
       and directly jumps to the patch subcommand.
       See “Interactive mode” for details.
于 2013-08-03T09:02:40.573 回答