【问题标题】:git - diff of current changes before committinggit - 提交前当前更改的差异
【发布时间】:2012-03-23 22:06:36
【问题描述】:

我已更改 git 存储库中的多个文件,但尚未提交。

我可以通过调用git status 来获取更改列表。但是,除了文件名之外,我如何获得我已更改的 linescontent 的列表?

我最初考虑使用git diff,但它似乎只对比较已经提交的更改有用。

通常我只做meld .,但在这种情况下,我通过 ssh 连接到外部服务器。

【问题讨论】:

    标签: git ssh diff meld


    【解决方案1】:

    我在这种情况下使用的是:

    git diff HEAD *
    

    这将显示自上次提交以来的更改。虽然它以某种方式工作得更快

    git diff .
    

    git diff
    

    要查看以前 git added 文件的更改,请使用 staged 标志:

    git diff --staged
    

    【讨论】:

      【解决方案2】:

      git diff 默认显示您的工作目录索引暂存区用于下一次提交)之间的差异。

      如果您已经将更改添加(暂存)到暂存区git diff --staged 会完成这项工作。 暂存区git commit构成下一次提交的数据。

      P。 S. Git 初学者的好读物(IMO):

      【讨论】:

      • 不暂存仅适用于尚未添加的文件?以为你必须使用缓存标志。
      • @peterbond man git-diff--staged is a synonym of --cached
      • @peterbond 从技术上讲,staged 意味着添加到暂存区,这还不是提交。我已经在编辑中澄清了这一点。
      • @Mischa documentation 表示git diff 的默认行为是计算工作目录和索引之间的差异,而不是HEAD
      • 我没有想到在没有参数的情况下调用 git diff。谢谢!
      猜你喜欢
      • 1970-01-01
      • 2015-12-05
      • 1970-01-01
      • 2018-07-04
      • 1970-01-01
      • 2016-04-23
      • 2015-07-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多