标签: diff

如何显示已上演的更改?

我上演了一些改变来承诺; 如何查看为下一次提交而暂存的所有文件的差异?我知道git状态,但我想看到实际的差异 - 而不仅仅是分阶段文件的名称.

我看到git-diff(1)手册页说

git diff [--options] [ - ] [...]

此表单用于查看您对索引所做的更改(下一次提交的暂存区域).换句话说,差异是你可以告诉git进一步添加到索引但你还没有.您可以使用git-add(1)暂存这些更改.

不幸的是,我无法理解这一点.必须有一些方便的单行,我可以创建一个别名,对吗?

git diff dvcs git-diff git-stage

2034
推荐指数
12
解决办法
78万
查看次数

如何查看Git提交中的更改?

当我这样做时,git diff COMMIT我看到了提交和HEAD之间的变化(据我所知),但我希望看到单个提交所做的更改.

我没有在diff/log上找到任何明显的选项,它会给我输出.

git version-control diff git-diff

1364
推荐指数
21
解决办法
91万
查看次数

如何在git历史中grep(搜索)已提交的代码?

我过去的某个时候删除了文件或某些代码.我可以在内容中进行grep(不在提交消息中)吗?

一个非常糟糕的解决方案是grep日志:

git log -p | grep <pattern>
Run Code Online (Sandbox Code Playgroud)

但是,这不会立即返回提交哈希.我一直玩得git grep无济于事.

git diff grep

1342
推荐指数
10
解决办法
36万
查看次数

给定两个目录树,如何找出哪些文件有所不同?

如果我想找到两个目录树之间的差异,我通常只执行:

diff -r dir1/ dir2/
Run Code Online (Sandbox Code Playgroud)

这准确地输出了相应文件之间的差异.我有兴趣只获取内容不同的相应文件列表.我假设这只是一个传递命令行选项的问题diff,但我在手册页上找不到任何内容.

有什么建议?

unix linux bash shell diff

743
推荐指数
7
解决办法
48万
查看次数

如何使用我喜欢的diff工具/查看器查看'git diff'输出?

当我输入时git diff,我想用我选择的视觉差异工具(Windows上的SourceGear"diffmerge")查看输出.如何配置git来执行此操作?

git diff diffmerge difftool git-difftool

735
推荐指数
17
解决办法
42万
查看次数

如何查看两个提交之间的更改而不提交中间的提交?

你如何git diff只显示两次提交之间的区别,排除其他提交?

git diff

605
推荐指数
10
解决办法
59万
查看次数

如何在命令行上着色diff?

当我有差异时,我怎样才能将它着色以使其看起来很好?我希望它用于命令行,所以请不要使用GUI解决方案.

unix diff command-line colors

475
推荐指数
11
解决办法
16万
查看次数

如何在Windows上的Git Bash中退出'git diff'的结果?

我在Windows 7上使用Git Bash.当我运行时git diff,我看到了这个:

但是,我无法回到常规提示.按Ctrl+ C似乎可以工作,但是一旦我开始输入一个命令,它就会被覆盖(END)在那个图像中.

git diff msysgit

466
推荐指数
3
解决办法
13万
查看次数

如何获取git diff文件,并将其应用于作为同一存储库副本的本地分支?

我有一个由同事创建的.diff文件,并希望将该diff文件中列出的更改应用到完全相同的存储库的本地分支.我无权访问用于生成此diff文件的worker的pc或分支.

显然,我可以逐行进行并重新输入所有内容,但我宁愿不让系统受到人为错误的影响.最简单的方法是什么?

git diff git-diff

440
推荐指数
2
解决办法
26万
查看次数

git-diff忽略^ M.

在某个项目中,某些文件包含^ M作为换行符分隔符.分散这些文件显然是不可能的,因为git-diff认为它是整个文件只是一行.

如何与之前的版本区别开来?

有没有像"在分辨时将^ M视为换行符"的选项?

prompt> git-diff "HEAD^" -- MyFile.as 
diff --git a/myproject/MyFile.as b/myproject/MyFile.as
index be78321..a393ba3 100644
--- a/myproject/MyFile.cpp
+++ b/myproject/MyFile.cpp
@@ -1 +1 @@
-<U+FEFF>import flash.events.MouseEvent;^Mimport mx.controls.*;^Mimport mx.utils.Delegate
\ No newline at end of file
+<U+FEFF>import flash.events.MouseEvent;^Mimport mx.controls.*;^Mimport mx.utils.Delegate
\ No newline at end of file
prompt>
Run Code Online (Sandbox Code Playgroud)

更新:

现在我编写了一个脚本,检查最新的10个版本并将CR转换为LF.

require 'fileutils'

if ARGV.size != 3
  puts "a git-path must be provided"
  puts "a filename must be provided"
  puts "a result-dir must be provided"
  puts "example:"
  puts "ruby gitcrdiff.rb project/dir1/dir2/dir3/ …
Run Code Online (Sandbox Code Playgroud)

git diff newline git-diff

423
推荐指数
9
解决办法
27万
查看次数