windows下git操作(二)

一、git diff

1、git diff命令,查看工作区暂存区的区别

例子:在一个文件夹下创建一个git仓库,新建一个hello文件并提交到暂存区,执行git diff命令,发现并无任何输出。再修改工作区的hello的内容保存并退出,执行git diff命令,发现系统给出提示。

$ git touch hello
$ git add hello
$ git diff
修改文件内容,保存退出

$ vim hello
执行git diff

$ git diff
diff --git a/hello b/hello
index e69de29..ce01362 100644
--- a/hello
+++ b/hello
@@ -0,0 +1 @@
+hello
warning: LF will be replaced by CRLF in hello.
The file will have its original line endings in your working directory.
结果输出了暂存区和工作区的区别( 是被追踪文件的区别,即被git add的文件的区别


2、git diff --cached或者git diff --staged,查看暂存区和上次提交到版本库的区别

接着上面的执行git diff--cached命令,发现系统给出暂存区和版本库的不同之处提示,接着执行git commit -m 'create hello file'(create hello file为提交的描述,可由自己填写)命令,将暂存区的内容提交到版本库中,再执行git diff --cached,发现控制台并无输出,因为最新的一次提交与暂存区的内容完全一致

$ git diff --staged
diff --git a/hello b/hello
new file mode 100644
index 0000000..ce01362
--- /dev/null
+++ b/hello
@@ -0,0 +1 @@
+hello
$ git commit -m 'create hello file'
$ git diff --cached

3、git diff HEAD命令比较 工作区版本库的区别
此时执行git diff HEAD控制台不会输出任何东西,因为工作区的内容和版本库的一样。我向hello文件写入“word”,再执行git diff HEAD,此时控制台给出提示。

修改hello文件,再其内容后加上" world",保存并退出

$ git diff HEAD
$ vi hello
执行git diff HEAD命令

$ git diff HEAD
diff --git a/hello b/hello
index ce01362..3b18e51 100644
--- a/hello
+++ b/hello
@@ -1 +1 @@
-hello
+hello world
warning: LF will be replaced by CRLF in hello.
The file will have its original line endings in your working directory.

二、git commit

用于将暂存区中的内容写入到git仓库中


三、git reset HEAD

取消已提交的缓存内容

接着上面的,执行git status -s(这与git status命令是一样的,只是这个的输出更加的简介)命令

$ git status -s
 M hello
控制台输出的是" M hello",注意M(修改的意思)之前还有一个空格,前一个空格的字母是表示 暂存区版本库的不同,后一个空格的字母表示为 工作区暂存区之间的不同,当为空时说明两者没有什么不同。

$ git add hello
$ git status -s
M  hello
此时M的位置变为第一个了,说明 工作区暂存区没有区别,现在执行git reset HEAD -- head

$ git reset HEAD -- hello
Unstaged changes after reset:
M       hello
$ git status -s
 M hello

现在撤销了缓存M又回到了第二个位置


四、git rm

将条目从缓存区中删除,这与 git reset HEAD 将条目取消缓存是有区别的。 "取消缓存"的意思就是将缓存区恢复为我们做出修改之前的样子。

git rm -f file:将file文件从工作区和暂存区中删除

$ git rm -f filename

git rm  --cached file: 将文件从暂存区删除但不会将工作区的文件删除


五、git mv

  相当于这三条指令,将文件从缓存中删除,重命名该文件,将重命名后的文件提交到缓存区中

$ git rm --cached file
$ git mv file f
$ git add f











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值