Git –如何从暂存中删除文件(要提交的更改)

在Git中,我们可以使用git reset HEAD -- 'files/folders/patterns'从临时区域中删除文件或文件夹(要提交的更改)。

1.个案研究

git add一些不需要的target/*.java文件,这些文件仍在暂存中,尚未提交。

Terminal
$ git add project/*/*.java

$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

        new file:   README.md
        new file:   pom.xml
        new file:   src/main/java/com/mkyong/benchmark/BenchmarkLoop.java
        new file:   src/main/java/com/mkyong/benchmark/bk/LoopSimpleTest.java
        new file:   target/generated-sources/annotations/com/mkyong/benchmark/generated/BenchmarkLoop_jmhType.java
        new file:   target/generated-sources/annotations/com/mkyong/benchmark/generated/BenchmarkLoop_jmhType_B1.java
        new file:   target/generated-sources/annotations/com/mkyong/benchmark/generated/BenchmarkLoop_jmhType_B2.java
        new file:   target/generated-sources/annotations/com/mkyong/benchmark/generated/BenchmarkLoop_jmhType_B3.java
        new file:   target/generated-sources/annotations/com/mkyong/benchmark/generated/BenchmarkLoop_loopForEach_jmhTest.java
        new file:   target/generated-sources/annotations/com/mkyong/benchmark/generated/BenchmarkLoop_loopForLoop_jmhTest.java
        new file:   target/generated-sources/annotations/com/mkyong/benchmark/generated/BenchmarkLoop_loopFor_jmhTest.java
        new file:   target/generated-sources/annotations/com/mkyong/benchmark/generated/BenchmarkLoop_loopIterator_jmhTest.java
        new file:   target/generated-sources/annotations/com/mkyong/benchmark/generated/BenchmarkLoop_loopWhile_jmhTest.java
        new file:   target/generated-sources/annotations/com/mkyong/benchmark/generated/BenchmarkLoop_loopWhite_jmhTest.java
        new file:   target/generated-sources/annotations/com/mkyong/benchmark/generated/BenchmarkLoop_sum_jmhTest.java
        new file:   target/generated-sources/annotations/com/mkyong/benchmark/generated/Main_jmhType.java
        new file:   target/generated-sources/annotations/com/mkyong/benchmark/generated/Main_jmhType_B1.java
        new file:   target/generated-sources/annotations/com/mkyong/benchmark/generated/Main_jmhType_B2.java
        new file:   target/generated-sources/annotations/com/mkyong/benchmark/generated/Main_jmhType_B3.java
        new file:   target/generated-sources/annotations/com/mkyong/benchmark/generated/Main_sum_jmhTest.java

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        .idea/
        dependency-reduced-pom.xml
        jmh-benchmark.iml
        target/benchmarks.jar
        target/classes/
        target/jmh-benchmark-1.0.jar
        target/maven-archiver/
        target/maven-status/
        target/original-benchmarks.jar
        target/original-jmh-benchmark-1.0.jar

2.解决方案

要从登台中删除那些不需要的target/*.java文件,请使用此git reset HEAD -- target/*

Terminal
$ git reset HEAD -- target/*

$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

        new file:   README.md
        new file:   pom.xml
        new file:   src/main/java/com/mkyong/benchmark/BenchmarkLoop.java
        new file:   src/main/java/com/mkyong/benchmark/bk/LoopSimpleTest.java

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        .idea/
        dependency-reduced-pom.xml
        jmh-benchmark.iml
        target/

参考文献

  1. git-reset文档
  2. git中的“ stage”是什么意思?

翻译自: https://mkyong.com/git/git-how-to-remove-files-from-staging-changes-to-be-committed/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值