如果我运行,git diff我希望看到我的工作目录相对于之前提交的任何更改的列表(或者工作目录内容列表,如果它是一个没有提交的新repo).试试这个例子:
$ mkdir temp
$ cd temp
$ git init
$ echo "first line" > test.txt
$ git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# test.txt
nothing added to commit but untracked files present (use "git add" to track)
Run Code Online (Sandbox Code Playgroud)
让我们看看test.txt的差异:
$ git diff
Run Code Online (Sandbox Code Playgroud)
这没有输出!
我希望看到一个差异,+ first line但我什么都没得到.它没有告诉我发生了什么.stackoverflow上的人告诉我git add一些文件,所以我这样做:
$ git add .
$ git diff
Run Code Online (Sandbox Code Playgroud)
依然没有!
Git GUI显示了这些变化.
git status -v 显示更改.
但由于某种原因git diff没有显示任何东西.
所以我的问题是:
git diff?我公司的一些人正在使用git,但SVN人群将指出这是git太混乱无法使用的情况.
m0t*_*ive 64
git不会将文件系统上的文件视为自动包含在版本控制系统中,您必须将内容明确地添加到git存储库中(正如您通过添加当前目录所做的那样git add .).
没有输出,git diff因为git 在您的存储库中看不到任何更改,只有存储库之外的文件,它认为"未跟踪",因此在生成diff时会忽略.
我发现这是与svn(以及登台和忽略目录)等vcs的关键区别之一.
如果您希望包含未跟踪的文件,则为git add它们.
如果您不想在回购中添加它们.gitignore(请参阅参考资料git ignore --help).这对C对象文件或python .pyc文件很有用.
所以这略有不同.如果这样,git status您将看到该文件现在位于暂存区域中.这是您要提交的文件的区域.
当您git add将新文件放入git repo时,它会跳过工作副本并直接进入暂存区域.这在某种程度上是有意义的,git add无论是跟踪还是未跟踪,始终将文件移动到临时区域.
要查看上次签入和暂存区域之间的差异,请执行此操作git diff --cached.
要查看暂存区域和工作副本之间的差异,请执行此操作git diff.如果暂存区域中没有任何内容,那么这与在上次签入和工作副本之间进行差异相同.
Dan*_*aum 28
我已经看到了确实应该输出的情况,git diff但没有;
--no-pager在两者之间加入git和diffDOES工作:
git --no-pager diff
Run Code Online (Sandbox Code Playgroud)
......所以没有明确设置寻呼机是less与
git config --global core.pager 'less'
Run Code Online (Sandbox Code Playgroud)
即使less应该是默认的寻呼机.
这是在Ubuntu 12.04 LTS.我只是添加这个以防其他有相同问题的人来寻找解决方案,而上述内容并没有回答这个问题.
我在git docs中找到了有关寻呼机设置的信息 .
1.用简单的英语来说,git diff 是如何工作的?
如何git diff工作完全取决于您传递给它的参数。
根据参数,git diff将显示两次提交之间或提交与工作树之间的更改等...
例如,git diff,git diff --staged和git diff HEAD在下文进一步描述。
2.如何显示我所做的所有更改(未暂存和暂存)的差异?
通过同时使用命令git diff HEAD和git diff --staged.
但是对于刚刚创建的存储库git init,这个问题没有意义并且git diff HEAD不能使用:历史是空的,没有提交,HEAD还没有!
git diff显示相对于上次提交的工作树中的更改,仅适用于跟踪文件
git diff HEAD 显示相对于上次提交的工作树中的更改(包括未跟踪的文件)
git diff --staged(或其同义词git diff --cached)显示您为下一次提交相对于上次提交所做的更改
还有许多其他方法可以调用git diff,用于比较任意提交或分支等。调用git help diff以了解更多信息。
| 归档时间: |
|
| 查看次数: |
28430 次 |
| 最近记录: |