首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >吉特:我们能比较两个不同版本的相同文件吗?

吉特:我们能比较两个不同版本的相同文件吗?
EN

Stack Overflow用户
提问于 2011-10-06 10:24:11
回答 2查看 247关注 0票数 2

是否有可能将同一文件分两次,并比较(差异)两个阶段版本?使用文件myclass.java的示例:

  • 我将我的文件==> git添加myclass.java (分阶段文件版本1)
  • 我对这个文件做了一些修改
  • 我再次播放我的文件(分阶段的文件版本2)

我可以比较分阶段文件版本1和分段文件版本2吗?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-06 10:33:29

第二个git add覆盖第一个,但仍然可以得到差异。

代码语言:javascript
复制
# edit edit edit
$ git add myclass.java
# edit some more

现在,git diff将向您展示分阶段文件和最后编辑之间的差异。如果您想要在分阶段的文件和最后一次提交之间的差异,您必须执行git diff --staged

票数 4
EN

Stack Overflow用户

发布于 2011-10-06 11:12:27

Git索引是用于提交文件的位置;有关更多信息,请查看此StackOverflow答案。在对提交文件进行阶段处理时,索引会反映最新的阶段性信息。第二次暂存文件将更改Git索引,以反映工作目录中文件的内容。

但是,通过一些额外的工作,您可以看到文件的内容与每个阶段的内容一样。您可以在每个阶段之后使用git ls-files获得一个文件小泡列表,然后您可以使用diff或其他一些不同工具进行比较。

下面是一个小的示例会话。

代码语言:javascript
复制
$ git init
Initialized empty Git repository in /home/user/tmp/.git/
$ echo "foo" > foo
$ git add foo
$ git ls-files --stage
100644 257cc5642cb1a054f08cc83f2d943e56fd3ebe99 0   foo
$ echo "bar" > foo
$ git add foo
$ git ls-files --stage
100644 5716ca5987cbf97d6bb54920bea6adde242d87e6 0   foo
$ git cat-file blob 257cc56 > foo.257cc56
$ git cat-file blob 5716ca5 > foo.5716ca5
$ diff foo.257cc56 foo.5716ca5 
1c1
< foo
---
> bar

但是这是大量的工作,需要仔细规划和存储blob哈希值才能完成。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7673017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档