无法使用git获得完整的补丁

时间:2011-07-04 10:00:57

标签: git diff

git回购中,我有新文件添加,文件删除/重命名 像往常一样修改。当我用git diff修补另一个时 看来,我没有得到所有新的/删除的文件。然后我尝试了 --cached选项,然后,我有一些不同的文件集,但仍然, 不是所有更改的完整集合+文件添加和删除。 (我做过git addgit rm) 我也试过--diff-filter=ACDMRTUXB,仍然没有帮助! 我错过了其他一些选择吗?我想要的只是获得全套 diffs in 1命令。 我的Linux机器上有git version 1.6.2.4

-

TIA

1 个答案:

答案 0 :(得分:3)

所以:

  • git diff显示跟踪文件中的非暂停更改(您在某个时刻添加了文件,但未添加这些特定更改)
  • git diff --cached显示已暂存的更改(您已添加的更改)

听起来你的工作副本中有分阶段和非分阶段的变化。如果您想将它们全部放入同一个补丁中,您可以:

  • 取消更改您的更改:git reset会清空您的索引中的暂存更改,但会将其保留在您的工作副本中,因此git diff将为您提供完整的修补程序
  • 暂停所有更改:将git add剩余文件添加到索引中:然后git diff --cached将为您提供完整的修补程序