Discuss / Git / 我说的才是对的

我说的才是对的

Topic source

joychine

#1 Created at ... [Delete] [Delete and Lock User]

git diff 是你工作区跟仓库(仓库也叫版本库)的比较,这个时候可以看你开发过程中修改了哪些内容 git diff --cached 是看你stge区和仓库分支上的比较,你add后但是没有commit, 这个时候只是在stage中,可以确认下修改是否正确,如果正确无误可以commit合并到分支

__倾目

#2 Created at ... [Delete] [Delete and Lock User]

哥哥 你这个是错的

丶志灬勇

#3 Created at ... [Delete] [Delete and Lock User]

弟弟,他这个好像是对的

丶志灬勇

#4 Created at ... [Delete] [Delete and Lock User]

git diff 比较的是工作区文件与暂存区文件的区别(上次git add 的内容)

git diff主要是文件在工作区修改的时候显示的吧 git add提交到暂缓区后git diff是查询不到的了

大熊座尾

#6 Created at ... [Delete] [Delete and Lock User]

git diff会查到工作区与版本的不同

若不同是工作区与暂存区的不同,会红字显示

若不同是暂存区与仓库分支的不同,会绿字显示

所以git diff可以同时完成上述两个功能。但若只想知道暂存区和仓库分支的不同,用git diff --cached即可

不知道楼上几位的git版本是多少,我这里ubuntu下git 2.7.4,win10上2.18.0,两个版本我都做了实验,结论如下:

如果是输入git diff,查看到的是工作区和暂存区的不同,如果是git diff --cached,查看到的是暂存区和HEAD的不同。

@大熊座尾说的红字、绿字显示,至少我这两个版本的git上是没有的。git status才能分别看到红色、绿色的"modified"字样。

如果你想验证我说的,尝试如下操作:

mkdir -p /tmp/git-demo
cd /tmp/git-demo
git init .
echo "#include <stdio.h>" >> main.c
echo "this is the readme" >> readme.md
git add .
git commit -m "first commit"
echo "int main(){printf("hello\n"); return 0;}" >> main.c
echo "add a new line" >> readme.md
git add main.c
git diff
git diff --cached

槲寄君

#8 Created at ... [Delete] [Delete and Lock User]

我的是最新安装的2.19.1,你说得比较是对的,但我版本是有红绿显示,不过红色仅仅代表当前比较的被修改或被删除的行,绿色仅仅代表修改过或新增的行。并不是像楼上说的那样红绿代表不同区的比较显示。

豆红豇1

#9 Created at ... [Delete] [Delete and Lock User]

@大熊座尾

红的代表删除行,绿的代表添加行。


  • 1

Reply