Git - プッシュしようとしているコミットされたファイルをリストする方法?

Git –プッシュしようとしているコミット済みファイルをリストする方法

Gitでは、git show commit_id --name-onlyを使用して、リモートリポジトリにプッシュするすべてのコミット済みファイルを一覧表示できます。

P.S The git status didn’t show the committed files.

1. ケーススタディ

以下の場合、gitは誤ってあまりにも多くの不要なtarget/*ファイルを追加してコミットしましたが、ローカルでコミットされたファイルを削除するにはどうすればよいですか? (Havenはリモートgitサーバーにプッシュしません)

ターミナル

$ git commit -m "test uncommit"

[master f5f3fa6] test uncommit
 7 files changed, 3603 insertions(+)
 create mode 100644 src/main/java/com/example/benchmark/BenchmarkMap.java
 create mode 100644 target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_forwardLoop_jmhTest.java
 create mode 100644 target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType.java
 create mode 100644 target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType_B1.java
 create mode 100644 target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType_B2.java
 create mode 100644 target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType_B3.java
 create mode 100644 target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_reverseLoop_jmhTest.java

2. 溶液

2.1 git log to display all the commit_id, the first one is the last commit_id, copy it.

ターミナル

$ git log
commit f5f3fa6e012adf5d2caf2e1310421ad8258950d3 (HEAD -> master)
Author: example <[email protected]>
Date:   Mon Nov 26 16:02:00 2018 +0800

    test uncommit

commit 3250f725962ba12b6695c083895dd4c3533545a2 (origin/master)
Author: example <[email protected]>
Date:   Mon Nov 25 15:00:17 2018 +0800

    init

commit b28f3199e10d2aed5426342f6ed172ba7f710483
Author: example <[email protected]>
Date:   Fri Nov 23 17:27:25 2018 +0800

    update readme

2.2 git show commit_id --name-only to display all the files committed in the specified commit_id.

ターミナル

$ git show f5f3fa6e012adf5d2caf2e1310421ad8258950d3 --name-only

commit f5f3fa6e012adf5d2caf2e1310421ad8258950d3 (HEAD -> master)
Author: example <[email protected]>
Date:   Mon Nov 26 16:02:00 2018 +0800

    test uncommit

src/main/java/com/example/benchmark/BenchmarkMap.java
target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_forwardLoop_jmhTest.java
target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType.java
target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType_B1.java
target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType_B2.java
target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType_B3.java
target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_reverseLoop_jmhTest.java

2.3 Undo the last commit with git reset --soft HEAD~1, move the mistakenly committed files back to the staging area.

ターミナル

$ git reset --soft HEAD~1

$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git reset HEAD ..." to unstage)

        new file:   src/main/java/com/example/benchmark/BenchmarkMap.java
        new file:   target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_forwardLoop_jmhTest.java
        new file:   target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType.java
        new file:   target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType_B1.java
        new file:   target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType_B2.java
        new file:   target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType_B3.java
        new file:   target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_reverseLoop_jmhTest.java
        new file:   target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkLoop_jmhType.java

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

        .idea/