我发现图像以图形方式显示diff命令的工作。 http://images.abizern.org.s3.amazonaws.com/365git/March10/GitDiffSimple.png
git diff HEAD
显示工作树中相对于HEAD的更改,但是如果我运行此脚本
mkdir test_git
cd test_git
git init
echo 'one_file.txt' >> one_file.txt
git add .
git commit -m "my first commit"
echo 'second_file.txt' >> second_file.txt
git diff HEAD
然后diff不显示seconrd_file.txt的差异。为什么呢?
答案 0 :(得分:0)
git diff
命令提供当前工作目录或当前索引与HEAD
之间的相对差异。在上面的示例中,您将创建一个新文件,但尚未将其添加到索引或提交它。就HEAD
而言,新文件不存在且未被跟踪,因此没有区别。使用git add second_file.txt
将文件暂存到索引中会将新文件引入存储库,并在执行git diff --cached
命令时产生差异。
Pro Git - 2.2 Git Basics中免费提供了跟踪变更的过程。